【问题标题】:MultiWorkerMirroredStrategy() not working on Google AI-Platform (CMLE)MultiWorkerMirroredStrategy() 不适用于 Google AI 平台 (CMLE)
【发布时间】:2020-02-03 21:25:07
【问题描述】:

我在使用 MultiWorkerMirroredStrategy() 在 Google AI 平台 (CMLE) 上训练自定义估算器时遇到以下错误。

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

MirroredStrategy()PamameterServerStrategy() 在 AI-Platform 上使用各自的 config.yaml 文件运行良好。我目前为任何操作提供设备范围。 两者都没有我在会话配置中提供任何设备过滤器,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 中为 trainer 包提供了 tensorflow-gpu==1.14.0。

【问题讨论】:

  • 酋长等参考tensorflow 2.0。 ai 平台可能正在运行 1.x 运行时
  • 嗨@Lak。我没有收到错误,它显示 'chief' 为 valid 任务类型,而 'master' 显示为 invalid。我在setup.py 中提供tensorflow-gpu==1.14.0 用于培训包。
  • 我已经用你上面的评论更新了这个问题(你正在使用 tensorflow-gpu)并在下面回答
  • @SWAPNILMASUREKAR 你能在 AI Platform Training 上再试一次吗?这可能已经修复。

标签: tensorflow google-cloud-platform google-cloud-ml tensorflow-estimator gcp-ai-platform-training


【解决方案1】:

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

它不支持“master”节点,而是将其称为“chief”。 如果您在容器中运行作业,可以尝试使用“useChiefInTfConfig”标志,请参阅此处的文档:https://developers.google.com/resources/api-libraries/documentation/ml/v1/python/latest/ml_v1.projects.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"')

【讨论】:

    【解决方案2】:

    (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 框架。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-03-05
      • 2019-03-15
      • 2023-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-14
      • 2019-04-24
      相关资源
      最近更新 更多