TensorFlow 2.1.0 正式发布了,TensorFlow 2.1 是支持 Python 2 的最后一个 TF 版本。
主要特性和改进如下:
tensorflow pip 软件包现在默认包括针对 Linux 和 Windows 的 GPU 支持(与 tensorflow-gpu 相同)。它可以在带有和不带有 NVIDIA GPU 的机器上运行。tensorflow-gpu 仍然可用,对于关心软件包大小的用户,可以在 tensorflow-cpu 上下载仅 CPU 的软件包。
Windows 用户:为了利用新的 /d2ReducedOptimizeHugeFunctions 编译器标志,现在使用 Visual Studio 2019 版本 16.4 构建了正式发布的 tensorflow Pip 程序包。要使用这些新程序包,必须安装 “Visual Studio 2015、2017 和 2019 的 Microsoft Visual C++ 可再发行组件”。
这不会更改在 Windows 上从源代码构建 TensorFlow 所需的最低版本,但是在没有此标志的情况下,启用 EIGEN_STRONG_INLINE 的构建可能需要超过48 个小时才能进行编译。
如果你的计算机上缺少必需的 DLL,msvcp140.dll(旧)或 msvcp140_1.dll(新)之一,则导入 tensorflow 将显示警告消息。
tensorflow pip 软件包使用 CUDA 10.1 和 cuDNN 7.6 构建。
tf.keras
GPU 和 Cloud TPU 提供了对混合精度的实验支持。
引入了 TextVectorization 层,该层将原始字符串作为输入,并负责文本标准化、标记化、n-gram 生成和词汇索引。
只要在范围内构建模型,就可以将 Keras .compile .fit .evaluate 和 .predict 置于 DistributionStrategy 范围之外。
对于所有类型的 Keras 模型(顺序模型、功能模型和子类模型)、Cloud TPU、Cloud TPU 均可提供 Keras .compile,.fit,.evaluate 和 .predict 的实验支持。
为云 TPU 启用了自动外部编译。这使得 tf.summary 可以更方便地与 Cloud TPU 一起使用。
Cloud TPU 支持带有 DistributionStrategy 和 Keras 的动态批量大小。
除了 tf.data.Dataset 之外,还使用 numpy 数据在 TPU 上支持 .fit,.evaluate,.predict。
TensorFlow Model Garden 提供了许多流行模型的 Keras 参考实现。
tf.data
更改 tf.data 数据集的重新编录+分发策略以提高性能。请注意,数据集的行为也略有不同,因为重新标记的数据集基数将始终是副本数的倍数。
tf.data.Dataset现在支持在分布式环境中(包括在 TPU 容器上)自动进行数据分发和分片。
现在可以这样调整 tf.data.Dataset 的分发策略:1.tf.data.experimental.AutoShardPolicy(OFF, AUTO, FILE, DATA)2.tf.data.experimental.ExternalStatePolicy(WARN, IGNORE, FAIL)
添加了环境变量 TF_DETERMINISTIC_OPS。当设置为 “true” 或 “1” 时,此环境变量使 tf.nn.bias_add 确定性地(即可重复地)运行,但当前仅当未启用 XLA JIT 编译时才运行。这使得 Keras Conv*D 和 MaxPool*D 层在启用 CUDA 的 GPU 上运行时可确定地在向前和向后两个方向上运行。
详情见更新说明:
https://github.com/tensorflow/tensorflow/releases/tag/v2.1.0