专栏首页marsggboTensorcore使用方法

Tensorcore使用方法

用于深度学习的自动混合精度

深度神经网络训练传统上依赖IEEE单精度格式,但在混合精度的情况下,可以训练半精度,同时保持单精度网络的精度。这种同时使用单精度和半精度表示的技术称为混合精度技术。

混合精度训练的好处

通过使用Tensor Core加速数学密集型运算,如线性和卷积层。

与单精度相比,通过访问一半的字节可以加快内存受限的操作。

减少训练模型的内存需求,支持更大的模型或更小的批。

启用混合精度涉及两个步骤:在适当的情况下,将模型移植到使用半精度数据类型;并使用损失缩放来保持较小的梯度值。

TensorFlow、PyTorch和MXNet中的自动混合精度特性为深度学习研究人员和工程师提供了在NVIDIA Volta和Turing gpu上最多3倍的人工智能训练速度,而只需要添加几行代码。

使用自动混合精度的主要深度学习框架

  • TensorFlow

在NVIDIA NGC容器注册表中提供的TensorFlow容器中提供了自动混合精度特性。要在容器内启用此功能,只需设置一个环境变量:

export TF_ENABLE_AUTO_MIXED_PRECISION=1 

另外,环境变量可以在TensorFlow Python脚本中设置:

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

自动混合精度在TensorFlow内部应用这两个步骤,使用一个环境变量,并在必要时进行更细粒度的控制。

  • PyTorch

自动混合精度特性在GitHub上的Apex repository中可用。要启用,请将这两行代码添加到您现有的训练脚本中:

model, optimizer = amp.initialize(model, optimizer)

with amp.scale_loss(loss, optimizer) as scaled_loss:
    scaled_loss.backward()
  • MXNet

NVIDIA正在为MXNet构建自动混合精度特性。你可以在GitHub上找到正在进行的工作。要启用该功能,请在现有的训练脚本中添加以下代码行:

amp.init()
amp.init_trainer(trainer)
with amp.scale_loss(loss, trainer) as scaled_loss:
   autograd.backward(scaled_loss)

原文链接:http://www.gpus.cn/gpus_list_page_techno_support_content?id=57

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 吐血整理!绝不能错过的24个顶级Python库

    事实上,由于Python库种类很多,要跟上其发展速度非常困难。因此,本文介绍了24种涵盖端到端数据科学生命周期的Python库。

    AI算法与图像处理
  • 深度学习算法(第25期)----机器翻译中的编码解码器网络

    深度学习算法(第24期)----自然语言处理(NLP)中的Word Embedding 前几期我们一起学习了RNN的很多相关知识,今天我们一起用这些知识,学习下...

    智能算法
  • windows安装tensorflow

    下载可以去官网上下载,直接搜索找与你电脑对应的版本就好,国内清华镜像网站是:https://mirrors.tuna.tsinghua.edu.cn/anaco...

    开发架构二三事
  • 教程 | 基于LSTM实现手写数字识别

    基于tensorflow,如何实现一个简单的循环神经网络,完成手写数字识别,附完整演示代码。

    OpenCV学堂
  • 智能八段锦 app 中的身体动作识别

    OliveX是一家总部位于香港的公司,致力于健身相关软件的开发,自2018年首次推出以来,已为200万用户提供服务。我们的许多用户都是老年人,智能八段锦应用程序...

    云水木石
  • 深度学习四大名著之《机器学习实战:基于Scikit-Learn、Keras和TensorFlow》第二版

    《机器学习实战:基于Scikit-Learn、Keras和TensorFlow》第二版

    SeanCheney
  • 使用Anaconda 环境安装 TensorFlow

    本文由 bytebye 创作 本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名

    ByteBye
  • 具有Keras和Tensorflow Eager的功能性RL

    在此博客文章中,探索了用于实现强化学习(RL)算法的功能范例。范例是开发人员将其算法的数值写为独立的纯函数,然后使用库将其编译为可以大规模训练的策略。分享了如何...

    代码医生工作室
  • 在几分钟内构建强大的可用于生产的深度学习视觉模型

    得益于更快的计算,更好的存储和易于使用的软件,基于深度学习的解决方案绝对可以看到从概念验证隧道进入现实世界的曙光!看到深度学习模型已广泛应用于该行业的各个领域,...

    代码医生工作室
  • PyTorch常见的坑汇总

    最近刚开始用pytorch不久,陆陆续续踩了不少坑,记录一下,个人感觉应该都是一些很容易遇到的一些坑,也在此比较感谢帮我排坑的小伙伴,持续更新,也祝愿自己遇到的...

    Datawhale

扫码关注云+社区

领取腾讯云代金券