0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

TensorFlow 2.4来了 带来了多项新特性和功能改进

新机器视觉 来源:新机器视觉 作者:机器之心 2020-12-26 11:38 次阅读

谷歌正式发布了 TensorFlow 2.4,带来了多项新特性和功能改进。

TensorFlow 2.4 的更新包括对于分布式训练和混合精度的新功能支持,对 NumPy API 子集的试验性支持以及一些用于监测性能瓶颈的新工具。 根据 TensorFlow 官方博客,本次更新的主要内容整理如下:

tf.distribute 中的新功能

参数服务器策略 在 TensorFlow 2.4 中,tf.distribute 模块引入了对使用 ParameterServerStrategy 和自定义训练循环进行模型异步训练的试验性支持。和 MultiWorkerMirroredStrategy 类似,ParameterServerStrategy 是一种多工作器(multi-worker)数据并行策略,但梯度更新是异步的。 参数服务器训练集群由工作服务器和参数服务器组成。变量在参数服务器上创建,然后在每个步骤中由工作器读取和更新。

变量的读取和更新在工作器之间是独立进行的,不存在任何同步。由于工作器彼此不依赖,因此该策略具有工作器容错的优势,如果使用可抢占 VM,该策略将很有用。 多工作器镜像策略 MultiWorkerMirroredStrategy 已经脱离试验阶段,成为稳定的 API。像单工作器的 MirroredStrategy 一样,MultiWorkerMirroredStrategy 通过同步数据并行实现分布式训练,顾名思义,借助 MultiWorkerMirroredStrategy 可以在多台机器上进行训练,每台机器都可能具有多个 GPU

Keras 更新

混合精度 在 TensorFlow 2.4 中,Keras 混合精度 API 已经脱离试验阶段,成为稳定的 API。大多数 TensorFlow 模型使用 float32 dtype,但现在有些低精度数据类型占用的内存更少,比如 float16。混合精度指的是在同一模型中使用 16 位和 32 位浮点数以进行更快的训练。这一 API 可将模型性能在 GPU 上提高到 3 倍,在 TPU 上提高 60%。

要使用混合精度 API,必须使用 Keras 层和优化器,但不一定需要使用其他 Keras 类。 优化器 本次更新包括重构 tf.keras.optimizers.Optimizer 类,让 model.fit 的用户和自定义训练循环的用户能够编写可与任何优化器一起使用的训练代码。所有内置 tf.keras.optimizer.Optimizer 子类都可接受 gradient_transformers 和 gradient_aggregator 参数,轻松定义自定义梯度变换。 重构之后,使用者可以在编写自定义训练循环时直接将损失张量传递给 Optimizer.minimize:

pIYBAF_msJqARmysAABBsgUGUmE079.jpg

这些更新的目标是让 Model.fit 和自定义训练循环与优化器细节更加不相关,从而让使用者无需修改即可编写出与任何优化器共同使用的训练代码。 最后,TensorFlow 2.4 的更新还包括 Keras Functional API 内部的重构,改善了函数式模型构造所产生的内存消耗并简化了触发逻辑。这种重构可以保证 TensorFlowOpLayers 的行为可预测,并且可以使用 CompositeTensor 类型签名(type signature)。

tf.experimental.numpy

TensorFlow 2.4 引入了对 NumPy API 子集的试验性支持。该模块可以运行由 TensorFlow 加速的 NumPy 代码,由于这一 API 是基于 TensorFlow 构建的,因此可与 TensorFlow 无缝衔接,允许访问所有 TensorFlow API 并通过编译和自动矢量化提供优化后的运行。 例如,TensorFlow ND 数组可以与 NumPy 函数互通,类似地,TensorFlow NumPy 函数可以接受包括 tf.Tensor 和 np.ndarray 在内的不同类型输入。

o4YBAF_msK-AD0uIAABwAa2nu7U191.jpg

新的性能分析工具

TensorFlow Profiler 是度量 TensorFlow 模型的训练性能和资源消耗情况的工具,用来诊断性能瓶颈,最终加快训练速度。 此前,TensorFlow Profiler 支持多 GPU 单主机训练。到了 2.4 版本,使用者可以测试 MultiWorkerMirroredStrategy 的训练工作了,比如使用采样模式 API 按需配置,并连接到 MultiWorkerMirroredStrategy 工作器正在使用的同一服务器。


另外,你可以通过向捕获配置文件工具提供工作器地址来使用 TensorBoard 配置文件插件。配置之后,你可以使用新的 Pod Viewer tool 来选择训练步骤,并查看所有工作器上该步骤的 step-time 的细分。 TFLite Profiler TFLite Profiler 则支持在 Android 中跟踪 TFLite 内部信息,以识别性能瓶颈。

GPU 支持

TensorFlow 2.4 与 CUDA 11 和 cuDNN 8 配合运行,支持最新发布的英伟达安培架构 GPU,对于 CUDA 11 的新特性,可以参考英伟达开发者博客: https://developer.nvidia.com/blog/cuda-11-features-revealed/ 在新版本中,默认情况下会启用安培 GPU 的新特性——对 TensorFloat-32 的支持。TensorFloat-32 又简称为 TF32,是英伟达 Ampere GPU 的一种数学精度模式,可导致某些 float32 运算(如矩阵乘法和卷积)在安培架构 GPU 上运行得更快,但精度略有降低。 若想更深入了解,可参阅文档: https://www.tensorflow.org/api_docs/python/tf/config/experimental/enable_tensor_float_32_execution

责任编辑:xj

原文标题:TensorFlow 2.4来了:上线对分布式训练和混合精度的新功能支持

文章出处:【微信公众号:新机器视觉】欢迎添加关注!文章转载请注明出处。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据集
    +关注

    关注

    4

    文章

    1205

    浏览量

    24644
  • tensorflow
    +关注

    关注

    13

    文章

    329

    浏览量

    60499

原文标题:TensorFlow 2.4来了:上线对分布式训练和混合精度的新功能支持

文章出处:【微信号:vision263com,微信公众号:新机器视觉】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    Linux微信4.0.0版发布,功能再升级

    近日,备受瞩目的Linux微信4.0.0版本终于迎来了正式发布。此次版本更新不仅带来了多项实用功能,还实现与Windows、macOS公测
    的头像 发表于 11-06 10:59 195次阅读

    GUI Guider全新版本上线

    GUI Guider v1.8.1上线啦!这一版本为嵌入式HMI开发带来了多项功能改进,旨在为您提供更加高效、便捷的嵌入式HMI开发体验。
    的头像 发表于 10-14 11:37 936次阅读

    微软推出Windows 11九月更新:增强体验,添加多项便捷新功能

    微软公司于9月26日正式推出了针对Windows 11系统的最新可选更新KB5043145,此次更新精心设计多项改进与创新功能,旨在为用户带来
    的头像 发表于 09-27 15:55 954次阅读

    Vivado 2024.1版本的新特性(1)

    Vivado 2024.1已正式发布,今天我们就来看看新版本带来了哪些新特性
    的头像 发表于 09-18 10:30 999次阅读
    Vivado 2024.1版本的新<b class='flag-5'>特性</b>(1)

    TensorFlow是什么?TensorFlow怎么用?

    术界和工业界都得到了广泛的应用。它不仅支持大规模的数据处理,还提供自动微分、分布式训练等高级功能,极大地简化了深度学习任务的开发流程。
    的头像 发表于 07-12 16:38 588次阅读

    keras模型转tensorflow session

    在这篇文章中,我们将讨论如何将Keras模型转换为TensorFlow session。 Keras和TensorFlow简介 Keras是一个高级神经网络API,它提供一种简单、快速的方式
    的头像 发表于 07-05 09:36 463次阅读

    骁锐安全光栅的主要特性功能

    骁锐安全光栅以其高精度检测、安装简便、可靠性高和智能化升级等特性,以及多项功能,为工业生产带来了全新的保障,成为守护安全的新势力。
    的头像 发表于 07-04 10:26 244次阅读
    骁锐安全光栅的主要<b class='flag-5'>特性</b>与<b class='flag-5'>功能</b>

    OpenAI 深夜抛出王炸 “ChatGPT- 4o”, “她” 来了

    功能和实际应用。 GPT-4 turbo****的增强功能 ChatGPT-4o带来了几个值得注意的升级,增强了性能和可用性: · 更快的响应时间和更高的准确性: 是客户服务和其他快节奏环境中所
    发表于 05-27 15:43

    智慧灯杆有什么功能

    智慧灯杆作为一种集成了多种功能的城市基础设施,近年来在城市建设中越来越受到重视。它不仅能够提供照明功能,还融合通信、监控、信息发布等多项技术,为城市管理和市民生活
    的头像 发表于 04-28 16:55 312次阅读

    来看看蓝牙 5.4 版带来了一些新的有趣功能

    Bluetooth SIG 的 Bluetooth® v5.4 核心规范为支持 Bluetooth 的物联网设备带来了多项优势,重点是增强了通信能力、安全性和效率。这些改进尤其适用于涉及大量设备
    的头像 发表于 04-23 14:52 7844次阅读
    来看看蓝牙 5.4 版<b class='flag-5'>带来了</b>一些新的有趣<b class='flag-5'>功能</b>

    基于TensorFlow和Keras的图像识别

    ,让我们先花点时间来了解一些术语。TensorFlow/KerasTensorFlow是GoogleBrain团队创建的一个Python开源库,它包含许多算法和模型
    的头像 发表于 01-13 08:27 770次阅读
    基于<b class='flag-5'>TensorFlow</b>和Keras的图像识别

    WiFi6工业网关能为工业物联网带来哪些改进

    WiFi 6( 802.11ax)比其前身WiFi 5(802.11ac)带来了多项改进,例如更快的通信速率、更大的带宽容量、在多设备连入时更稳定的性能、更大的链接范围、增强的安全性以及更好地支持物联网工作负载等,本篇就为大家简
    的头像 发表于 01-08 17:16 840次阅读
    WiFi6工业网关能为工业物联网<b class='flag-5'>带来</b>哪些<b class='flag-5'>改进</b>?

    FPGA为嵌入式设计带来了强大的功能与灵活性

    尽管 FPGA 为嵌入式设计带来了强大的功能与灵活性,但额外的开发流程也给设计工作增加了新的复杂性和限制问题。整合传统的硬件-FPGA-软件设计流程并充分利用 FPGA 的可再编程功能是我们的一个
    的头像 发表于 12-07 09:35 492次阅读

    GNSS技术为自动驾驶带来了什么?

    GNSS技术为自动驾驶带来了什么?
    的头像 发表于 12-04 17:44 492次阅读

    Sublime Text 4 Build 4169文本编辑器的新功能

    Sublime Text 4 Build 4169 带来了改进的语法高亮、易于选择字体、增量索引排序以及其他功能
    的头像 发表于 12-03 11:12 984次阅读
    Sublime Text 4 Build 4169文本编辑器的新<b class='flag-5'>功能</b>