繁体   English   中英

MultiWorkerMirroredStrategy() 无法在 Google AI 平台 (CMLE) 上运行

[英]MultiWorkerMirroredStrategy() not working on Google AI-Platform (CMLE)

使用MultiWorkerMirroredStrategy()在 Google AI-Platform (CMLE) 上训练自定义估计器时出现以下错误。

ValueError: Unrecognized task_type: 'master', valid task types are: "chief", "worker", "evaluator" and "ps".

MirroredStrategy()PamameterServerStrategy()在 AI-Platform 上运行良好,它们各自的config.yaml文件。 我目前没有为任何操作提供设备范围。 也没有在 session config, tf.ConfigProto(device_filters=device_filters)中提供任何设备过滤器。

我用于使用MultiWorkerMirroredStrategy()进行训练的config.yaml文件是:

trainingInput:
  scaleTier: CUSTOM
  masterType: standard_gpu
  workerType: standard_gpu
  workerCount: 4

masterType输入对于在 AI 平台上提交训练作业是必需的。

注意:它显示 'chief' 为有效的任务类型,而 'master' 为无效。 我在 setup.py 中为培训师 package 提供 tensorflow-gpu==1.14.0。

我遇到了同样的问题。 据我了解,MultiWorkerMirroredStrategy 配置值与其他策略以及 CMLE 默认提供的不同: https://www.tensorflow.org/tutorials/distribute/multi_worker_with_keras#multi-worker_configuration

它不支持“主”节点,而是将其称为“首席”。 如果您在容器中运行作业,可以尝试使用“useChiefInTfConfig”标志,请参阅此处的文档: https://developers.google.com/resources/api-libraries/documentation/ml/v1/python/latest/ml_v1。项目.jobs.html

否则,您可能会尝试手动破解您的 TF_CONFIG:

  TF_CONFIG = os.environ.get('TF_CONFIG')
  if TF_CONFIG and '"master"' in TF_CONFIG:
    os.environ['TF_CONFIG'] = TF_CONFIG.replace('"master"', '"chief"')

(1) 这似乎是 MultiWorkerMirroredStrategy 的一个错误。 请在 TensorFlow 中提交错误。 在 TensorFlow 1.x 中,它应该使用 master,在 TensorFlow 2.x 中,它应该使用 Chief。 该代码(错误地)要求首席,而AI Platform(因为您使用的是1.14)仅提供大师。 顺便说一句:master = Chief + evaluator。

(2) 不要在 setup.py 中添加 tensorflow。 使用--runtime-version (请参阅https://cloud.google.com/ml-engine/docs/runtime-version-list )标志向 gcloud 提供您希望 AI Platform 使用的 tensorflow 框架。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM