首页 文章

Tensorflow Canned Estimator问题与Google Cloud 端引擎上的多个工作人员一起运行

提问于
浏览
0

我正在尝试使用谷歌 Cloud ml引擎上的固定DNNClassifier估算器来训练模型 .

我能够以单一和分布式模式在本地成功训练模型 . 此外,我能够使用提供的BASIC和BASIC_GPU比例层在 Cloud 上训练模型 .

我现在正试图传递我自己的自定义配置文件 . 当我只在配置文件中指定“masterType:standard”而不提及worker,参数服务器时,作业成功运行 .

但是,每当我尝试添加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包传递给 Cloud . 我不认为这是问题的原因,但无论如何,我想提到它 .

这个错误有什么原因吗?有人可以帮帮我吗?

也许我做的事情很愚蠢 . 我试图找到答案(不成功) .

非常感谢!!

1 回答

  • 0

    用户代码具有删除现有job-dir的逻辑,这也删除了GCS中的分阶段用户代码包,因此迟到的工作人员无法下载该包 .

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

相关问题