簡體   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