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

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

Вам необходимо соответствующим образом определить флаги в вашей программе обучения. Служба будет передавать пользовательские аргументы в качестве флагов вашей программе обучения.

Guoqing Xu 19.07.2019 18:58

да но как? есть ли где-нибудь пример кода, который я могу посмотреть? какова процедура чтения флагов в программе обучения?

DarioB 22.07.2019 10:47
Создание приборной панели для анализа данных на GCP - часть I
Создание приборной панели для анализа данных на GCP - часть I
Недавно я столкнулся с интересной бизнес-задачей - визуализацией сбоев в цепочке поставок лекарств, которую могут просматривать врачи и...
2
2
891
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

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

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

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

отлично, это похоже на чтение обычных флагов из скрипта, я думал, что это не сработает.

DarioB 23.07.2019 11:48

В моем случае он фактически не может прочитать аргументы cmd. Не уверен, почему это происходит.

S. P 04.04.2021 09:49

Я знаю, что, вероятно, неправильно использовал свой 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

Докерфайл

...
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)
...

Другие вопросы по теме