【问题标题】:Is automatic mixed precision supported by tf.keras in Tensorflow Beta 2.0?Tensorflow Beta 2.0 中的 tf.keras 是否支持自动混合精度?
【发布时间】:2019-11-14 16:20:15
【问题描述】:

我正在尝试使用 tf.keras API 让 Tensorflow 的自动混合精度工作(在 RTX 2080 Ti 上使用张量核心),但我看不到训练的任何加速。

我刚刚添加了

os.environ['TF_ENABLE_AUTO_MIXED_PRECISION'] = '1'

到 Python 脚本的顶部。我还尝试从命令行将环境变量设置为 1,即

export TF_ENABLE_AUTO_MIXED_PRECISION=1

在这种情况下是否支持 AMP,或者模型是否需要在“原始”Tensorflow 中实现?

【问题讨论】:

    标签: python tensorflow keras tf.keras


    【解决方案1】:

    目前,仅在使用 NVIDIA 的 Tensorflow Docker 容器时才支持自动混合精度:

    https://ngc.nvidia.com/catalog/containers/nvidia:tensorflow

    https://www.tensorflow.org/install/docker

    您需要使用 Ubuntu 18.04,不支持当前的 Ubuntu 版本和 Windows。如果我没记错的话,最后一个 Docker 容器有 TF 1.13。安装后,tf.keras 应该支持自动混合精度。

    编辑:

    我在 Windows 上尝试了 2.0.0-beta1,但在使用自动混合精度时也没有发现任何速度提升。使用 Linux 上的 NVIDIA Docker 容器,将 TF_ENABLE_AUTO_MIXED_PRECISION 设置为 1 时,我得到了至少 2 倍的加速。希望这将在 2.0 版本中起作用。

    编辑 2: 在 TF 2.0.0-rc0 中,AMP 提高了简单模型的预期性能。使用更复杂的模型(U-Net 变体),找不到白名单操作,我看不出性能差异。

    【讨论】:

    • 啊 - 我认为 TF 2.0 在主版本中支持自动混合精度 - 例如如this blog post? 中所述
    • 哦,好消息!我没有注意到,在这种情况下,我将很快尝试测试版。感谢您的信息!
    • 看看本指南是否有帮助:tensorflow.org/guide/keras/mixed_precision
    猜你喜欢
    • 2020-10-18
    • 2020-04-23
    • 1970-01-01
    • 1970-01-01
    • 2012-04-01
    • 2023-04-06
    • 2018-09-25
    • 1970-01-01
    • 2017-12-16
    相关资源
    最近更新 更多