TensorFlow 2.7正式版上线,支持Jax模型到TensorFlow Lite转换( 二 )
对 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.keras.metrics.Metric 添加了 merge_state() 方法以用于分布式计算;
- 向 tf.keras.layers.TextVectorization 添加了 sparse 和 ragged 的选项 , 以允许来自层的 SparseTensor 和 RaggedTensor 输出 。
更多详情可查看:
https://github.com/tensorflow/tensorflow/releases/tag/v2.7.0
特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
