添加自定义依赖项不适用于ML-Engine提交培训

问题描述 投票:0回答:1

我有一个.sh脚本,按照以下方式执行submit training工作:

    now=$(date +"%Y%m%d_%H%M%S")
    JOB_NAME="campign_retention_model__$now"
    JOB_DIR="gs://machine_learning_datasets/campaign_retention"
    REGION="us-east1"
    PYTHON_VERSION='3.5'
    RUNTIME_VERSION='1.12'

    TRAINER_PACKAGE_PATH="./trainer/"
    PACKAGE_STAGING_PATH="gs://machine_learning_datasets/campaign_retention"
    CLOUDSDK_PYTHON="/usr/bin/python"
    MAIN_TRAINER_MODULE="trainer.task"

    gcloud ml-engine jobs submit training $JOB_NAME \
      --job-dir $JOB_DIR \
      --package-path $TRAINER_PACKAGE_PATH \
      --module-name $MAIN_TRAINER_MODULE \
      --region $REGION \
      --runtime-version=$RUNTIME_VERSION \
      --python-version=$PYTHON_VERSION \ 

哪个效果很好(请注意,.sh位于教练dir旁边)。

由于外部的基础设施要求,我被迫将项目内容保存在一个名为的存储桶中:

"gs://campign_retention_code/camp_ret"

并分发一个独立的sh,所以我刚刚改变它(只是改变了TRAINER_PACKAGE_PATH的路径):

    now=$(date +"%Y%m%d_%H%M%S")
    JOB_NAME="campign_retention_model__$now"
    JOB_DIR="gs://machine_learning_datasets/campaign_retention"
    REGION="us-east1"
    PYTHON_VERSION='3.5'
    RUNTIME_VERSION='1.12'

    TRAINER_PACKAGE_PATH="gs://campign_retention_code/camp_ret/trainer"
    PACKAGE_STAGING_PATH="gs://machine_learning_datasets/campaign_retention"
    CLOUDSDK_PYTHON="/usr/bin/python"
    MAIN_TRAINER_MODULE="trainer.task"

    gcloud ml-engine jobs submit training $JOB_NAME \
      --job-dir $JOB_DIR \
      --package-path $TRAINER_PACKAGE_PATH \
      --module-name $MAIN_TRAINER_MODULE \
      --region $REGION \
      --runtime-version=$RUNTIME_VERSION \
      --python-version=$PYTHON_VERSION \ 

现在,当我运行它(我将它移动到桌面上的另一个位置/Users/yehoshaphatschellekens/Desktop,以确保它不接近我的项目)我收到以下错误:

ERROR: (gcloud.ml-engine.jobs.submit.training) Source directory [/Users/yehoshaphatschellekens/Desktop/camp_ret] is not a valid directory.

看看文档packaging-trainer我注意到有两个例子,一个像我原来的脚本一样,正如我所说的,完美地工作,另一个例子使用打包的依赖。

为什么提交作业无法识别我对gs的依赖,我不能只指向--package-path gs的目录而不是我的本地目录吗?

提前致谢!!!

google-cloud-ml
1个回答
1
投票

我相信你要做的事情需要使用

--packages gs://path/to/packages

INSTEAD --package-path

© www.soinside.com 2019 - 2024. All rights reserved.