机器之心报道
机器之心编辑部
TensorFlow2.7 正式发布,新版本包括对 tf.keras、tf.lite 等模块的改进;tf.data 现在可以支持自动分片(auto-sharding);添加实验性 API Experiment_from_jax 以支持从 Jax 模型到 TensorFlow Lite 的转换。
「调试代码(debug)是框架用户体验的关键部分,更轻松的调试意味着更快的迭代周期。在此版本中,我们通过三个主要更改对 TF/Keras 调试体验进行了广泛的重新设计,使其更高效、更有趣……」谷歌科学家,Keras 发明者 François Chollet 说道。
11 月 5 日,TensorFlow 官方发布了 2.7 正式版,距离上次 2.6.1 的更新刚过去一个月时间。
在 TensorFlow 博客上,官方简述了新版本的主要升级内容:
TensorFlow 2.7 主要变化
tf.keras:
tf.lite:
TF Core:
将 tensorflow::int64 重命名为 int_64_t(前者是后者的别名)。
模块化文件系统的迁移:
对 S3 和 HDFS 文件系统的支持已经迁移到一个基于模块化文件系统的方法,现在可以在 https://github.com/tensorflow/io 中使用。用户需要安装 tensorflow-io python 包,以支持 S3 和 HDFS。
TensorFlow 2.7 主要功能和改进
对 TensorFlow 调试经验的改进:以前,TensorFlow 错误堆栈跟踪涉及许多内部帧,读出这些帧可能具有挑战性,而且对最终用户而言不可操作。从 TF 2.7 开始,TensorFlow 在它引发的大多数错误中过滤内部帧,以保持堆栈跟踪简短、可读,并专注于最终用户可操作的内容。
通过在每个异常中添加传递给该层的参数值的完整列表,提高由 Keras Layer.__call__()引发的错误消息信息量。
tf.data:tf.data 服务现在支持自动分片(auto-sharding)。用户通过 tf.data.experimental.service.ShardingPolicy 枚举指定分片策略;tf.data.experimental.service.register_dataset 现在接受可选的 compression 参数。
Keras:tf.keras.layers.Conv 现在包含一个公共的 convolution_op 方法。此方法可用于简化 Conv 子类的实现,有两种方式使用这个新方法,第一种方法如下:
class StandardizedConv2D(tf.keras.layers.Conv2D):
def call(self, inputs):
mean, var = tf.nn.moments(self.kernel, axes=[0, 1, 2], keepdims=True)
return self.convolution_op(inputs, (self.kernel - mean) / tf.sqrt(var + 1e-10))
你也可以采用如下方法:
class StandardizedConv2D(tf.keras.Layer):
def convolution_op(self, inputs, kernel):
mean, var = tf.nn.moments(kernel, axes=[0, 1, 2], keepdims=True)
# Author code uses std + 1e-5
return super().convolution_op(inputs, (kernel - mean) / tf.sqrt(var + 1e-10))
tf.lite:添加 experimental API Experiment_from_jax 以支持从 Jax 模型到 TensorFlow Lite 的转换;支持 uint32 数据类型;添加实验量化调试器 tf.lite.QuantizationDebugger。
更多详情可查看:
https://github.com/tensorflow/tensorflow/releases/tag/v2.7.0
页面更新:2024-04-19
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号