TensorFlow2.0版即将来袭!

导读 TensorFlow是快速开发神经网络的一般框架,是谷歌对于机器学习和数据科学领域的一大重要贡献。TensorFlow刚被推出,就因为其强大的易用性,在领域内被广泛采用并迅速成为深度学习的通用平台。

TensorFlow2.0版即将来袭!

前些日子谷歌刚刚发布完TensorFlow1.9,并带来了一大批的性能更新。近日消息,TensorFlow2.0预计将在今年年末推出首个测试版。TensorFlow1.9的热风刚过,大家又将期待的目光锁定在TensorFlow2.0。这里是一些TensorFlow2.0的预计性能更新。

新版本:TensorFlow2.0的预计性能改进

TensorFlow2.0除了解决一部分性能问题,其构建者还将进一步纠正兼容性和连续性的问题,将用户对编程模型的期望与TensorFlow更好地结合起来。TensorFlow2.0的核心功能预计为“Eager Execution”环境。Eager Execution于2017年由Google Brain推出, 是一种命令式的编程环境,可以在不构建图表的情况下迅速评估操作,目的在于使架构更易于学习和使用。

TensorFlow2.0预计性能更新:

扩展对更多平台和语言的支持。

通过交换格式的标准化和 API 的一致性,改进平台和语言组件之间的兼容性。

删除已弃用的 API,以减少用户之间的混淆。

TensorFlow2.0也被计划对升级进行一系列的设计审查。为了简化过度(transition),开发人员将创建一个转换工具,该工具将更新Python代码以使用与TensorFlow 2.0兼容的API,或者在无法自动进行转换的情况下发出警告。另外,TensorFlow 2.0还提供了一个纠正错误并进行改进的机会,而这些改进在语义版本控制下是禁止的。

新消息称,TensorFlow2.0的1.X系列并不会开发新功能,但2.0发布后的一年内,1.X系统将会有安全补丁。

介绍完了预将发布的新版本,现在让我们简单捋顺一下TensorFlow机器学习架构的更新之路。

TensorFlow1.9的主要性能更新

更新文档tf.keras:基于新Keras的入门和程序员指南页面。

为Keras 2.1.6 API更新tf.keras。

添加tf.keras.layers.CuDNNGRU和tf.keras.layers.CuDNNLSTM层。

将核心功能列的支持和损失添加到梯度boosted tree估计器中。

Python接口用于TFLite优化转换器已扩展,命令行界面(toco,tflite_convert)再次包括在标准pip安装中。

空变量范围,用variable_scope(tf.get_variable_scope(), …)替换variable_scope(”, …)。

用于构建自定义操作的标头从site-packages / external移至site-packages / tensorflow / include / external。

TensorFlow1.8的主要性能更新

能够将数据预取到GPU内存。可以加快预先知道数据GPU操作的速度,数据可以同时被复制到GPU中。

支持Cloud TPU的第三代流水线设置,提高了性能和可用性。TPU是Google Cloud专用的硬件单元,可以加速TensorFlow性能。

添加了 tf.contrib。{proto,rpc}以允许通用的原型解析和 RPC 通信。

TensorFlow1.7的主要性能更新

从 contrib 中移除 Eager 模式,使用 tf.enable_eager_execution()。

Graph 重写了仿真定点量化器,与TensorFlow Lite 兼容,由新的tf.contrib.quantize 包提供支持。

使用 tf.custom_gradient 轻松定制梯度计算。

TensorBoard 调试器插件,即 TensorFlow 调试器( tfdbg )的图形用户界面(GraphicalUser Interface, GUI),推出alpha 版本。

利用新的 tf.contrib.data.SqlDataset,支持将 sqlite 数据库作为 Dataset进行读取。

Distributed Mutex / CriticalSection 被添加至 tf.contrib.framework.CriticalSection。

tf.regex_replace 能更好支持文本处理。

tf.contrib.data.bucket_by_sequence_length 支持简单高效的序列输入。

TensorFlow1.6的主要性能更新

针对 CUDA 9.0 和 cuDNN 7 预构建二进制文件。

编译的二进制文件使用 AVX 指令,但会破坏旧版CPU上的TF。

针对非插槽变量的新优化器内部API。

tf.estimator.{FinalExporter,LatestExporter} 可导出被剥离的 SavedModels ,这增加了 SavedModels 的前向兼容性;FFT 支持添加到 XLA CPU/GPU 。

Android TF可以在兼容的 Tegra 设备上使用 CUDA 加速来构建。

增加了 Getting Started 的第二个版本,主要针对机器学习新手。

阐明了 resize_images.align_corners 参数文档。

增加了 TPU 文档。

增加了客户端节流。

在 FileSystem 接口上增加了 FlushCaches() 方法,用于 GscFileSystem 实现。

TensorFlow1.5的主要性能更新

Eager Execution:预览版已提供下载。

TensorFlow Lite:dev 预览版已提供下载。

支持 CUDA 9 和 cuDNN 7。

加速线性代数(XLA):

将 complex64 支持添加到 XLA 编译器。

将 bfloat 支持添加到 XLA 基础设施。

使 ClusterSpec 传播与 XLA 设备一起工作。

使用决定性执行程序来生成XLA图。

tf.contrib模块增加了很多附加功能,例如:tf.contrib.bayesflow.layers概率神经网络(PNN)的实现。

TensorFlow1.4的主要性能更新

tf.keras 成为核心 TensorFlow API 的一部分。提供TensorFlow Keras API的目的主要是为了向后兼容,可以更容易的将Keras移植到TensorFlow。

tf.data 成为核心 TensorFlow API 的一部分。

train_and_evaluate功能提供了一种在集群中以分布式方式运行TensorFlow Estimator (用于自动配置公共模型参数)的简单方法。

添加 tf.spectral.dct 用于计算 DCT-II。

TensorFlow的内置调试系统允许在调试器的命令行中执行任意Python代码,以进行快速检查和修改。

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/121007.html

(0)
上一篇 2021年8月28日
下一篇 2021年8月28日

相关推荐

发表回复

登录后才能评论