TensorFlow 2.2.0-rc0已发布,据官方介绍,TensorFlow 是一个采用数据流图(data flow graphs),用于数值计算的开源软件库。节点(Nodes)在图中表示数学操作,图中的线(edges)则表示在节点间相互联系的多维数据数组,即张量(tensor)。它灵活的架构让你可以在多种平台上展开计算,例如台式计算机中的一个或多个CPU(或GPU),服务器,移动设备等等。TensorFlow 最初由Google大脑小组(隶属于Google机器智能研究机构)的研究员和工程师们开发出来,用于机器学习和深度神经网络方面的研究,但这个系统的通用性使其也可广泛用于其他计算领域。
更新内容如下:
主要特性和改进
将字符串张量的标量类型从 std::string 替换为 tensorflow::tstring
TF 2 的新 Profiler,用于 CPU/GPU/TPU。它提供设备和主机性能分析,包括输入管道和 TF Ops。
不推荐使用 SWIG,而是使用 pybind11 将 C++ 函数导出到 Python,这是弃用 Swig 所作努力的一部分。
tf.distribute:
将 NVIDIA NCCL 更新到 2.5.7-1,以获得更好的性能和性能调整。
支持在 float16 中减少梯度。
所有实验的支持都减少了梯度压缩,以允许使用反向路径计算进行重叠梯度聚合。
通过使用新添加的 tf.keras.layers.experimental.SyncBatchNormalization 层,添加了对全局同步 BatchNormalization 的支持。该层将在参与同步训练的所有副本之间同步 BatchNormalization 统计信息。
使用 tf.distribute.experimental.MultiWorkerMirroredStrategy 提高 GPU 多工分布式培训的性能
可以通过覆盖 Model.train_step 将自定义训练逻辑与 Model.fit 结合使用。
轻松编写最新的培训循环,而不必担心 Model.fit 为你处理的所有功能(分发策略,回调,数据格式,循环逻辑等)
Model.fit 的主要改进:
现在,SavedModel 格式支持所有 Keras 内置层(包括指标,预处理层和有状态 RNN 层)
默认情况下启用 TFLite 实验性新转换器。
XLA 现在可以在 Windows 上构建并运行。所有预构建的软件包都随附有 XLA。
可以在 CPU 和 GPU 上使用“编译或抛出异常”语义为 tf.function 启用 XLA。
tf.keras:
tf.lite:
XLA
更新说明: https://github.com/tensorflow/tensorflow/releases/tag/v2.2.0-rc0