Google Cloud Platform отправляет учебное задание, как прочитать USER_ARGS из учебного кода?

Я отправляю учебную работу на облачной платформе Google, используя

gcloud ai-platform jobs submit training $JOB_NAME
               --scale-tier basic
               --package-path $TRAINING_PACKAGE_PATH
               --module-name $MAIN_TRAINER_MODULE
               --job-dir $JOB_DIR
               --runtime-version $RUNTIME_VERSION
               --python-version $PYTHON_VERSION
               --region $REGION

Мой учебный код выглядит примерно так же, как в онлайн-учебнике cloudml-примеров. Из руководства " Упаковка учебного приложения" я увидел, что вы можете передать параметры учебной работе, добавив

-- \
--user_first_arg=first_arg_value \
--user_second_arg=second_arg_value

Но где угодно я мог найти, как читать параметры из учебного кода. Какие-либо предложения? Спасибо

1 ответ

Решение

Пожалуйста, посмотрите на этот новый репо.

У вас есть task.py который читает параметры из gcloud команда

которые передают входы model.py который существует в этом файле.

Я знаю, что, вероятно, неправильно использовал свой dockerfile, но, чтобы принять пользовательские аргументы, мой запрос gcloud выглядел так:

gcloud ai-platform jobs submit training $JOB_NAME  /
--region $REGION   /
--master-image-uri $IMAGE_URI   /
--  /
app.py --user_first_arg=first_arg_value

Dockerfile

...
WORKDIR /app
COPY . /app

ENTRYPOINT ["python"]
CMD ["app.py"]

app.py

def get_args():
  parser = argparse.ArgumentParser()
  parser.add_argument(
      '--user_first_arg',
      default=0)
  args = parser.parse_args()
  return args

def main():
  args = get_args()
  print(args.user_first_arg)
...
Другие вопросы по тегам