【问题标题】:Migrating to Tensorflow 2.x from 1.x results in much slower training and ResourceExhaustedErrors on Google AI platform从 1.x 迁移到 TensorFlow 2.x 会导致 Google AI 平台上的训练和 ResourceExhaustedErrors 慢得多
【发布时间】:2021-10-21 19:24:53
【问题描述】:

在 TensorFlow 1.14 上一切正常。由于各种原因,我现在必须对其进行更新,而且似乎训练(我作为 Google AI 平台工作所做的)已经大大降低:我现在为我的模型获得ResourceExhaustedError,即使我将批量大小减少了一堆以绕过这(无论如何我都不想这样做)训练速度减慢了大约 5 倍。

我的迁移可以概括为我的配置 yaml 已更改:

trainingInput:
  scaleTier: CUSTOM
  masterType: standard_gpu
  runtimeVersion: "1.14"

trainingInput:
  scaleTier: CUSTOM
  masterType: standard_gpu
  runtimeVersion: "2.5"
  pythonVersion: "3.7"

并更新了所有相关代码以符合 TF2.x 标准。我还尝试摆弄scaleTiermasterType 无济于事。

我的模型基于 Keras,涉及 LSTM,有大约 200 万和 550 万个参数。

我可以在这里做什么?为什么当我进行此更改时,Google AI 平台上的训练质量会出现这种极端下降?

【问题讨论】:

  • 你确定你已经按照migration instruction的所有步骤操作了吗?
  • @vitooh 我没有用细齿梳来完成这个,但它看起来对我来说几乎不相关。我主要以相当标准的方式使用 keras(tf.keras),因此根据该文档,我不需要进行太多更改。训练本身只是一个简单的model.fit 调用,带有 keras 模型。不过感谢链接,我会继续看的;到目前为止,虽然没有任何帮助

标签: tensorflow keras tensorflow2.0 google-ai-platform


【解决方案1】:

问题似乎在于我在我的 LSTM 模型中使用了recurrent_dropout,这似乎不再支持 Tensorflow 2.x 中的 GPU 训练。从我的 LSTM 层中删除该参数后,问题就消失了。

值得注意的是,migration instructionstf_upgrade_v2 脚本都没有帮助解决这个问题。

【讨论】:

    猜你喜欢
    • 2020-08-24
    • 2018-08-10
    • 2017-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多