【问题标题】:Tensorflow Canned Estimator problems running with multiple workers on Google cloud ml engine在 Google Cloud ml 引擎上与多个工作人员一起运行的 Tensorflow Canned Estimator 问题
【发布时间】: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/e476e75c04e89e4a0f2f5f040853ec21974ae0af2289a2563293d29179a81199 CommandException: 一个或多个 URL 不匹配任何对象。
  • ...@angular-vector-181314:~$ gsutil ls -l -h gs://chasingdata/chasingdatajob_10252017_13 0 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


【解决方案1】:

用户代码有删除已有job-dir的逻辑,同样删除了GCS中暂存的用户代码包,导致迟到的工人无法下载该包。

我们建议每个作业都有一个单独的作业目录以避免类似问题。

【讨论】:

猜你喜欢
  • 2017-12-08
  • 1970-01-01
  • 2018-01-30
  • 1970-01-01
  • 1970-01-01
  • 2020-12-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多