向 MLEngine 气流运算符提供参数

Supplying arguments to MLEngine airflow operator

我已经能够使用 gcloud ml-engine sumbit job CLI 成功训练。然后我从成功作业的控制台训练输入中复制了 "args" 值。

"args": [
    "--output_dir=gs://composer-models/flowers/trained_cnn",
    "--train_steps=1000",
    "--learning_rate=0.01",
    "--batch_size=40",
    "--model=cnn",
    "--augment",
    "--batch_norm",
    "--train_data_path=gs://cloud-ml-data/img/flower_photos/train_set.csv",
    "--eval_data_path=gs://cloud-ml-data/img/flower_photos/eval_set.csv"
  ]

但是现在,当我尝试使用气流 MLEngineTrainingOperator 将这些提供给 运行 作业时,我收到以下错误:

即使参数与使用 gcloud 成功 运行 中使用的参数相同。

这是应该解析 task.py 文件中的参数的部分:

  parser.add_argument(
      '--learning_rate',
      help='Initial learning rate for training',
      type=float,
      default=0.01
  )

用于培训师的参数应传递给 MLEngineTrainingOperatortraining_args。 在此处检查操作员的文档。 http://airflow.apache.org/integration.html#mlenginetrainingoperator

根据错误消息,我怀疑您在 task.py 中仅添加了 --learning_rate--batch_size 的参数?