Google云平台提交训练作业,如何从训练代码中读取USER_ARGS?

Google Cloud Platform submit training job, how to read USER_ARGS from training code?

我正在使用

在 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-samples。 从 Packaging a Training Application 指南中,我看到您可以通过添加

将参数传递给训练作业
-- \
--user_first_arg=first_arg_value \
--user_second_arg=second_arg_value

但是我可以在任何地方找到如何从训练代码中读取参数。有什么建议么?谢谢

请看看这个新的repo

您有 task.pygcloud 命令读取参数

将输入传递给存在于 this 文件中的 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

Docker 文件

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