ITPub博客

TensorFlow1.9热风刚过,2.0版又将来袭!

原创 机器学习 作者:刘美利 时间:2018-08-23 18:09:20 0 删除 编辑

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

前些日子谷歌刚刚发布完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):

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

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

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

  4. 使用决定性执行程序来生成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代码,以进行快速检查和修改。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31542119/viewspace-2212702/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2018-06-13

  • 博文量
    69
  • 访问量
    88328