TensorFlow 是一个用于机器学习的端到端开源平台。它有一个全面灵活的工具、库和社区资源所组成的生态,让开发人员轻松建立和部署由 ML 驱动的应用程序。
TensorFlow 最初用于进行机器学习和深度神经网络研究。但该系统具有足够的通用性,也适用于其他广泛的领域。
重要变化
构建、编译和打包
- 删除了多余的软件包
tensorflow-gpu
和tf-nightly-gpu
。这些包被删除,取而代之的是分别引导用户切换到tensorflow
或tf-nightly
的包。自 TensorFlow 2.1 以来,这两组包之间唯一的区别是它们的名字,所以没有损失的功能或 GPU 支持。
tf.function
:
tf.function
现在直接使用 Python inspect 库来解析它所装饰的 Python 函数的签名。这一改变可能会破坏那些函数签名错误,但之前被忽略的代码,例如:- 在一个具有不同签名的函数上使用
functools.wraps
- 在无效的
tf.function
输入下使用functools.partial
tf.function
现在强制要求输入的参数名必须是有效的 Python 标识符。不兼容的名字会被自动处理,类似于现有的 SavedModel 签名行为。- 无参数的
tf.function
被假定为有一个空的input_signature
,而不是未定义的,即使input_signature
是未指定的。 tf.types.experimental.TraceType
现在需要定义一个额外的placeholder_value
方法。tf.function
现在使用由 TraceType 生成的占位符值而不是值本身来进行追踪。
实验性
API tf.config.experimental.enable_mlir_graph_optimization
和 tf.config.experimental.disable_mlir_graph_optimization
被移除。
主要功能和改进
增加了对 Python 3.11 的支持
删除了对 Python 3.7 的支持
tf.lite
:
- 为内置运算
fill
添加 16 位浮点类型支持 - 转置现在支持 6D 张量
- Float LSTM 现在支持对角线递归张量
tf.experimental.dtensor
:
- 协调服务现在可以与
dtensor.initialize_accelerator_system
一起工作,并且默认启用。 - 添加
tf.experimental.dtensor.is_dtensor
来检查一个张量是否是一个 DTensor 实例。
tf.test
:
- 增加了
tf.test.experimental.sync_devices
,这对准确测量基准的性能很有用
tf.experimental.dtensor
:
- 增加了对 GPU 上 ReduceScatter fuse 的实验性支持
……
更多详情可查看:https://github.com/tensorflow/tensorflow/releases/tag/v2.12.0