Google Cloud ML Engine 将多个文件路径作为参数传递

Google Cloud ML Engine pass multiple file paths as arguments

我正在尝试 运行 Google Cloud ML Engine 上的作业,但似乎无法将多个文件路径作为参数传递给解析器。 这是我在终端中写的内容:

JOB_NAME=my_job_name
BUCKET_NAME=my_bucket_name
OUTPUT_PATH=gs://$BUCKET_NAME/$JOB_NAME
DATA_PATH=gs://$BUCKET_NAME/my_data_directory
REGION=us-east1

gcloud ml-engine jobs submit training $JOB_NAME \
    --job-dir $OUTPUT_PATH \
    --runtime-version 1.2 \
    --module-name trainer.task \
    --package-path trainer/ \
    --region $REGION \
    -- \
    --file-path "${DATA_PATH}/*" \
    --num-epochs 10 

其中 my_data_directory 包含我稍后想阅读的多个文件,问题是 --file-path 仅包含 ['gs://my_bucket_name/my_data_directory'] 而不是所述目录中的文件列表。

我该如何解决这个问题?

非常感谢。

由于您在 -- \ 行之后传递的参数将是用户参数,程序如何处理这些参数将在很大程度上取决于您定义的训练器。我会回去修改训练程序,让它要么以不同的方式处理目录,要么像这样采用多个路径:

gcloud ml-engine jobs submit training $JOB_NAME \
    --job-dir $OUTPUT_PATH \
    --runtime-version 1.2 \
    --module-name trainer.task \
    --package-path trainer/ \
    --region $REGION \
    --scale-tier STANDARD_1 \
    -- \
    --train-files $TRAIN_DATA \
    --eval-files $EVAL_DATA \
    --train-steps 1000 \
    --verbosity DEBUG  \
    --eval-steps 100

一些有助于开发您自己的培训师的链接:[1] [2]