TensorFlow 2.1.0 来了,重大更新与改进了解一下
By 超神经
导读:2019 年 11 月末,TensorFlow 的官方 GitHub 账号发布了 TensorFlow 2.1.0-rc 版本,现在,官方最新发布了 TensorFlow 2.1.0 正式版本。据介绍,这将是最后一个支持 Python 2 的版本。除此之外,TensorFlow 2.1.0 还带来了很多重大更新与改进,了解一下。
关键词:TensorFlow 2.1.0 正式版
TensorFlow 2.1.0 正式版本发布啦!
昨日,TensorFlow 官方 GitHub 账号中,发布了 TensorFlow 2.1.0 正式版本。
发行说明地址:https://github.com/tensorflow/tensorflow/releases
如之前在发布候选版本时所宣布(点击可了解详情),TensorFlow 2.1 是支持 Python 2 的最后一个 TF 版本。鉴于 Python 2.7 于 2020 年 1 月 1 日正式到期,Python 核心开发团队将不再对其进行任何维护,因此,TensorFlow 也从 2020 年 1 月 1 日开始停止支持Python 2。
除此之外,TensorFlow 2.1.0 还在 tf.keras、tf.data、tf.debugging 等均带来了更新与改进。
最新版本的主要特点和改进
该 tensorflow pip 软件包现在在默认情况下包括 GPU 支持(与 tensorflow-gpu 一样),适用于 Linux 和 Windows。它在带有和不带有 NVIDIA GPU 的机器上均可运行。
更新后用户只需安装一个软件包即可
不再需要区分 CPU 与 GPU 环境
tensorflow-gpu 仍然可用,对于关注软件包大小的用户,可以在 tensorflow-cpu 下载纯 CPU 软件包。
对于 Windows 用户,正式发布的 tensorflow Pip 软件包现在使用 Visual Studio 2019 16.4 版本生成,以便利用新的编译器标志。
要使用这些新软件包,用户必须安装「Microsoft Visual C ++ Redistributable for Visual Studio 2015、2017 和 2019」,下载地址传送:https://support.microsoft.com/zh-cn/help/2977003/the-latest-supported-visual-c-downloads。
需要注意的是:
这不会更改在 Windows 上从源代码构建 TensorFlow 所需的最低版本,但是在没有此标志的情况下,构建 EIGEN_STRONG_INLINE 可能需要超过 48 个小时以上的时间才能编译。有关 EIGEN_STRONG_INLINE 和 /d2Reduced
OptimizeHugeFunctions 的更多信息。请参阅 configure.py。
如果用户的计算机上缺少任何一个必需的 DLL msvcp140.dll(旧)或msvcp140_1.dll(新),import tensorflow 将会输出警告消息。
另外,官方还介绍,该 tensorflow pip 软件包是用 CUDA 10.1 和 cuDNN 7.6 建立的。
tf.keras 的更新
在 GPU 和 Cloud TPU 上提供了对混合精度的实验支持,引入了 TextVectorization 层,该层以原始字符串作为输入,并负责文本标准化,标记化,n-gram 生成和词汇索引。具体可参考这个端到端文本分类示例:
https://colab.research.google.com/drive/1RvCnR7h0_l4Ekn5vINWToI9TNJdpUZB3。
用户对 TextVectorization 层的引入感到兴奋
只要模型是在一个范围内构建的,Keras.compile .fit .evaluate 和 predict 就允许被分布于 DistributionStrategy 范围之外。
Cloud TPU Pod 提供了对 Keras .compile,.fit,
.evaluate,以及 .predict 的实验支持,适用于云计算的 TPU,Cloud TPU,以及所有类型的 Keras 模型(顺序,功能和子类模型)。
并且,现已经为云 TPU 启用了自动外部编译。这样允许 tf.summary 更方便地与Cloud TPU 一起使用。
Cloud TPU 支持带有 DistributionStrategy 和 Keras 的动态批处理大小。
除了 tf.data.Dataset 之外,还可以使用 numpy 数据支持的 TPU 上的 .fit,.evaluate,.predict,在 TensorFlow Model Garden 中提供了许多流行模型的 Keras 参考实现。
tf.data 的更新
对 tf.data datasets + DistributionStrategy(数据集+分布策略)的 rebatching 做了一些更改,以获得更好的性能。
需要注意的是,数据集的行为也略有不同,因为重新标记的数据集基数将始终是副本数的倍数。
tf.data.Dataset 现在支持在分布式环境中(包括在 TPU pod 上)自动进行数据分发和分片。
tf.data.Dataset 的分发策略,现在可以调整为:
tf.data.experimental.AutoShardPolicy(OFF, AUTO, FILE, DATA)
tf.data.experimental.ExternalStatePolicy(WARN, IGNORE, FAIL)
tf.debugging
添加了 tf.debugging.enable_check_numerics()和tf.debugging.disable_check_numerics()来帮助调试涉及 infinities 和 NaNs 的问题的根本原因。
tf.distribute
在 TPU 和 TPU pods上的自定义训练循环支持,可以通过以下来实现:
strategy.experimental_distribute_dataset
strategy.experimental_distribute_datasets_from_function
strategy.experimental_run_v2
strategy.reduce
除了 strategy.scope() 之外,还通过tf.distribute.
experimental_set_strategy() 支持全局分布策略。
TensorRT
现在默认情况下支持并启用 TensorRT 6.0。这增加了对更多对 TensorFlow 操作的支持,包括
Conv3D
Conv3DBackpropInputV2
AvgPool3D
MaxPool3D
ResizeBilinear
ResizeNearestNeighbor
此外,TensorFlow-TensorRT python 转换 API 导出为 tf.experimental.tensorrt.Converter。
添加了环境变量 TF_DETERMINISTIC_OPS。当设置为「true」或「1」时,此环境变量使 tf.nn.bias_add 操作确定性地(即可重现地)进行,但当前仅在未启用 XLA JIT 编译时才这样操作。
设置 TF_DETERMINISTIC_OPS 为「true」或「1」也会使 cuDNN 卷积和最大池操作具有确定性。这使得 Keras Conv * D 和 MaxPool * D 层 CUDA-enabled GPU上运行时,可确定地在向前和向后两个方向上操作。
重大变化
删除了我们不知道用法的 Operation.traceback_with_start_lines。
从 tf.Tensor.__repr__()as 中移除了 id,因为 id 除了内部调试外没有其他用处。
如果当时,不是在 session.run()期间,输入张量的值已知,则某些 if.assert_* 方法现在在操作创建时会触发断言。这仅当图形执行会导致错误时才会更改行为。发生这种情况时,将返回一个 noop,并将输入张量标记为不可馈送(non-feedable)。
换句话说,如果它们在 session.run() 被用作 feed_dictto 的参数的键,则会引发错误。同样,由于某些断言操作没有放入图中,因此图结构也会发生变化。如果未明确给出(最常见),则不同的图可能会产生不同的 per-op 随机种子。
以下 API 不再实验:
tf.config.list_logical_devices
tf.config.list_physical_devices
tf.config.get_visible_devices
tf.config.set_visible_devices
tf.config.get_logical_device_configuration
tf.config.set_logical_device_configuration
此外,tf.config.experimentalVirtualDeviceConfi-
guration 已重命名为 tf.config.LogicalDeviceCon-figuration。
tf.config.experimental_list_devices 已被删除,请使用 tf.config.list_logical_devices。
除了以上重要更新外,TensorFlow 2.1.0 还进行了多项错误修复与更改,具体可在发行说明中查看(https://github.com/tensorflow/tensorflow/releases)。
备注:公众号菜单包含了整理了一本AI小抄,非常适合在通勤路上用学习。
往期精彩回顾2019年公众号文章精选适合初学者入门人工智能的路线及资料下载机器学习在线手册深度学习在线手册AI基础下载(第一部分)备注:加入本站微信群或者qq群,请回复“加群”加入知识星球(4500+用户,ID:92416895),请回复“知识星球”
喜欢文章,点个在看
TensorFlow 2.1.0 来了,重大更新与改进了解一下相关推荐
- TensorFlow 1.8.0正式发布,Bug修复和改进内容都在这里了
译者 | 王柯凝 编辑 | Just 出品 | AI科技大本营(公众号ID:rgznai100) [导语]TensorFlow 1.8.0 近日正式发布,新版本主要有以下改进内容,AI科技大本营对其编 ...
- TensorFlow 1.7.0正式发布,Bug修复和改进内容都在这里了
编译 | AI科技大本营(公众号ID:rgznai100) 参与 | 张建军 TensorFlow 1.7.0 近日正式发布,新版本主要有以下改进内容,AI科技大本营对其进行了编译. 主要特征和改进 ...
- tensorflow 版本列表_最新|谷歌发布TensorFlow 1.3.0版本,都更新了哪些内容?
我们所有预构建的二进制文档已用 cuDNN6 构建.我们预期在 TensorFlow 1.4 中用 cuDNN7 import tensorflow 运行地更快 向 GCS 文件系统中增加了一个文件缓 ...
- 服务器手工修改进程资源,图解Total Commander 7.0之22项更新与改进(推荐)
作者:xbeta 版本:070611/070611 出自:善用佳软http://xbeta.info 本文超过20张图片,如果网速慢而无法阅读,可在此下载全文. 更新1:更新用户界面:平坦图标(支持X ...
- 一周焦点 | 讯飞发布公告,称公司不存在“造假”情形;TensorFlow 1.11.0发布
业界焦点 ▌Google 证实面向中国推出搜索工具的「蜻蜓计划」真的存在 上个月,据外媒 Intercept 报道,Google 将针对中国市场推出一款以 Android 系统为应用平台的新搜索引擎, ...
- TensorFlow 1.13.0 正式发布,谷歌开源的机器学习框架
TensorFlow 1.13.0 已正式发布,TensorFlow 是谷歌的第二代机器学习系统,按照谷歌所说,在某些基准测试中,TensorFlow 的表现比第一代的 DistBelief 快了 2 ...
- pip更新失败_最全Tensorflow2.0 入门教程持续更新
最全Tensorflow 2.0 入门教程持续更新: Doit:最全Tensorflow 2.0 入门教程持续更新zhuanlan.zhihu.com 完整tensorflow2.0教程代码请看ht ...
- Ubuntu 18.04从源代码编译安装GPU支持的Tensorflow 1.8.0
当我第一次使用Linux时,我想要做的第一件事就是安装GPU版本Tensorflow.我找到了一个很好的指南.但即使考虑到这一点,我也花了超过40个小时的安装.这篇文章我想节省你的时间,分享自己的经验 ...
- 微软董事会:比尔·盖茨应当离开;字节跳动回应“实习生遭遇职场 PUA”事件;TensorFlow 2.5.0稳定版发布|极客头条...
「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧. 整理 | 梦依丹 出品 | CSDN(ID:CSDNnews ...
最新文章
- 11g compression 新特性(1)
- english writing sample for professional
- WebView 在 APP 中的使用
- 第十六周项目3-有相同数字?
- 推荐算法 php SQL,MixPHP 独特的SQL构建方式
- oracle sys_connect_by_root,CONNECT_BY_ROOT实现行列转换
- 【已解决】抱歉,由于某种原因,PowerPoint 无法加载D:\mathtype\Office Support\64\MathType(PowerPoint 2016).ppam加载项。
- Vue项目中的RSA加解密
- 2018--Linux面试题
- to_char和to_date的用法详解
- 尼尔机械纪元 机器人博士_还记得章鱼博士吊打蜘蛛侠的炫酷机械臂吗?现实版已经研发出来了...
- Python网络爬虫:正则表达式
- 问题 J: 亚运会旗帜
- mac访达连接服务器后无法显示,mac在群晖nas上使用时间机器TimeMachine
- 信用卡使用的诸多误区、技巧
- Wireshark lua 插件简介
- 数字校园整体解决方案
- Ubuntu下使用SCM Micro’s SDI011双界面读卡器驱动
- 电影《一生一世》观后感
- 某券商OA系统遭受攻击,金融企业如何保障办公安全?
热门文章
- 如何处理HTML5新标签的浏览器兼容问题?
- QT-- MainWindow外的cpp文件调用ui
- unity_小功能实现(敌人巡逻功能)
- HDU 1518 Square
- 对于当下国产CPU如火如荼有感
- windows进程通信 -- WM_COPYDATA消息
- 交换机工作原理_什么是POE交换机,它有什么好处?
- python 占位符_5分钟让你用Python作出最精美的Powerpoint
- colab出现input output error问题
- 安装 | VMware Workstation Pro 16 for Unbuntu 20.10 虚拟机安装教程