[英]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.