在Google Cloud ML引擎中找不到培训师模块



我正在尝试使用Google Cloud ML ML引擎来调整变异自动编码器的超参数。我设置了我在文档中建议的结构的包装,以便将" Trainer.Task"指定为我的主模块名称。下面是我目录结构的图像。

目录结构的图像

当我包含以下几行时,这在我自己的机器上工作:

import sys
sys.path.append("/path/to/project/directory/")

当我使用以下命令运行时,我会收到错误"无模块名称培训师"。我需要指定其他路径,还是我需要在Google Cloud ML引擎上运行的特殊路径?

gcloud ml-engine jobs submit training $JOB_NAME --package-path $TRAINER_PACKAGE_PATH --module-name $MAIN_TRAINER_MODULE --job-dir $JOB_DIR --region $REGION --config config.yaml

您有一个setup.py文件吗?如果是这样,您可能会遇到此问题

调试以下内容:

从作业获取包裹的GCS位置

gcloud --project=$PROJECT ml-engine jobs describe $JOB_NAME 

这将输出

之类的东西
jobId: somejob
state: PREPARING
trainingInput:
  jobDir: gs://BUCKET/job
  packageUris:
  - gs://bucket/job/packages/7d2611c7366f266058da5a9e2c93467426c5fdd018491fa33853516d9db533b1/somepackage-0.0.0.tar.gz
  pythonModule: cifar.task
  region: us-central1
trainingOutput: {} 
  • 请注意,上面的值仅用于说明目的,并且与您的输出有所不同。

将GCS软件包复制到您的计算机

gsutil cp gs://bucket/job/packages/7d2611c7366f266058da5a9e2c93467426c5fdd018491fa33853516d9db533b1/somepackage-0.0.0.tar.gz /tmp

解开.tar.gz并检查其具有__init__.py文件和task.py的目录培训师。如果不是,则您可能指定了命令行的不正确值。

如果包括实际命令行(即变量的值)和.tar.gz的内容,我可能可以提供更好的答案。

杰里米(Jeremy)我也有类似的问题。我下载并解开了文件,但其中没有task.py

这些是我使用的CMD线参数:

gcloud ml-engine jobs submit training job11 --package-path=./trainer --module-
 name='Keras_On_GoogleCloud.trainer.shallownet_train' --job-dir=gs://zubair-gc-
 bucket/jobs/job11 --region='us-central1' --config=trainer/cloudml-gpu.yaml -- -
 -job_name='zubair-gc-job11'  --dataset='dataset/animals' --model='shallownet_weights1.hdf5'

最新更新