【发布时间】:2017-10-26 10:06:05
【问题描述】:
我正在尝试使用谷歌云机器学习引擎上的罐装 DNNClassifier 估计器来训练模型。
我能够以单一和分布式模式在本地成功训练模型。此外,我可以使用提供的 BASIC 和 BASIC_GPU 规模层在云上训练模型。
我现在正在尝试传递我自己的自定义配置文件。当我只在配置文件中指定“masterType:standard”而不提及worker、参数服务器时,作业运行成功。
但是,每当我尝试添加工人时,作业都会失败:
trainingInput:
scaleTier: CUSTOM
masterType: standard
workerType: standard
workerCount: 4
这是我运行作业的方式(我得到了同样的错误,但没有提到暂存桶):
SCALE_TIER=CUSTOM
JOB_NAME=chasingdatajob_10252017_13
OUTPUT_PATH=gs://chasingdata/$JOB_NAME
STAGING_BUCKET=gs://chasingdata
gcloud ml-engine jobs submit training $JOB_NAME --staging-bucket "$STAGING_BUCKET" --scale-tier $SCALE_TIER --config $SIMPLE_CONFIG --job-dir $OUTPUT_PATH --module-name trainer.task --package-path trainer/ --region $REGION -- ...
我的作业日志显示作业以非零状态 1 退出。我看到 worker-replica-3 出现以下错误:
Command '['gsutil', '-q', 'cp', u'gs://chasingdata/chasingdatajob_10252017_13/e476e75c04e89e4a0f2f5f040853ec21974ae0af2289a2563293d29179a81199/trainer-0.1.tar.gz', u'trainer-0.1.tar.gz']' returned non-zero exit status 1
我检查了我的存储桶 (gs://chasingdata)。我看到引擎创建的 chasingdatajob_10252017_13 目录,但没有 trainer-0.1.tar.gz 文件。另一件要提的事情 - 我在 setup.py 文件中将“tensorflow==1.4.0rc0”作为 PyPi 包传递到云端。我不认为这是问题的原因,但我想我还是会提到它。
这个错误有什么原因吗?有人可以帮我吗?
也许我在做一些愚蠢的事情。我试图为此找到答案(未成功)。
非常感谢!!
【问题讨论】:
-
能否提供目录列表:
gsutil ls -l -h gs://chasingdata/chasingdatajob_10252017_13/e476e75c04e89e4a0f2f5f040853ec21974ae0af2289a2563293d29179a81199 -
当然。这里是:
...@angular-vector-181314:~$ gsutil ls -l -h gs://chasingdata/chasingdatajob_10252017_13/e476e75c04e89e4a0f2f5f040853ec21974ae0af2289a2563293d29179a81199CommandException: 一个或多个 URL 不匹配任何对象。 -
和
...@angular-vector-181314:~$ gsutil ls -l -h gs://chasingdata/chasingdatajob_10252017_130 B 2017-10-25T19:25:10Z gs://chasingdata/chasingdatajob_10252017_13/ 77.55 KiB 2017-10-25T19:25:10Z gs://chasingdata/chasingdata17_1025201 events.out.tfevents.1508959510.master-5252b8c60b-0-d522f 总计:2 个对象,79410 字节 (77.55 KiB) -
你能把
--staging-bucket删掉看看能不能用吗? -
@rhaertel80,感谢您的帮助。我已经删除了
--staging-bucket,但它仍然不起作用。我已经玩了一点,我认为问题出在workerCount上。当我将 workerCount 更改为 2 时,作业运行成功。但是当我将 workerCount 设置为 4 时,它会因上述错误而失败。我错过了什么吗?
标签: tensorflow google-cloud-ml-engine