机器学习系统:TensorFlow 2.2.0

是谷歌的第二代机器学习系统,按照谷歌所说,在某些基准测试中,TensorFlow的表现比第一代的DistBelief快了2倍。

内建深度学习的扩展支持,任何能够用计算流图形来表达的计算,都可以使用TensorFlow。任何基于梯度的机器学习算法都能够受益于TensorFlow的自动分 化(auto-differentiation)。通过灵活的Python接口,要在TensorFlow中表达想法也会很容易。

TensorFlow 对于实际的产品也是很有意义的。将思路从桌面GPU训练无缝搬迁到手机中运行。

示例代码:

import tensorflow as tf
import numpy as np

# Create 100 phony x, y data points in NumPy, y = x * 0.1 + 0.3
x_data = np.random.rand(100).astype(np.float32)
y_data = x_data * 0.1 + 0.3

# Try to find values for W and b that compute y_data = W * x_data + b
# (We know that W should be 0.1 and b 0.3, but TensorFlow will
# figure that out for us.)
W = tf.Variable(tf.random_uniform([1], -1.0, 1.0))
b = tf.Variable(tf.zeros([1]))
y = W * x_data + b

# Minimize the mean squared errors.
loss = tf.reduce_mean(tf.square(y - y_data))
optimizer = tf.train.GradientDescentOptimizer(0.5)
train = optimizer.minimize(loss)

# Before starting, initialize the variables.  We will 'run' this first.
init = tf.global_variables_initializer()

# Launch the graph.
sess = tf.Session()
sess.run(init)

# Fit the line.
for step in range(201):
    sess.run(train)
    if step % 20 == 0:
        print(step, sess.run(W), sess.run(b))

# Learns best fit is W: [0.1], b: [0.3]

正式发布了,该版本终止了对 Python 2 的支持。现在,新的 TensorFlow Docker 镜像版本仅提供 Python 3。

主要特性和改进

  • 将字符串张量的标量类型从 std::string 替换为 tensorflow::tstring
  • TF 2 的新 Profiler,用于 CPU/GPU/TPU。它提供设备和主机性能分析,包括输入管道和 TF Ops。
  • 不推荐使用 SWIG,而是使用 pybind11 将 C++ 函数导出到 Python,这是弃用 Swig 所作努力的一部分。
  • tf.distribute
    • 通过使用新添加的 tf.keras.layers.experimental.SyncBatchNormalization 层,添加了对全局同步 BatchNormalization 的支持。该层将在参与同步训练的所有副本之间同步 BatchNormalization 统计信息。
    • 使用 tf.distribute.experimental.MultiWorkerMirroredStrategy 提高 GPU 多工分布式培训的性能
      • 将 NVIDIA NCCL 更新到 2.5.7-1,以获得更好的性能和性能调整。
      • 支持在 float16 中减少梯度。
      • 所有实验的支持都减少了梯度压缩,以允许使用反向路径计算进行重叠梯度聚合。
      • 弃用 experimental_run_v2 方法。
      • 添加对 DistributedIterators 的 CompositeTensor 支持。这应该有助于防止不必要的功能跟踪和内存泄漏。
  • tf.keras
    • Model.fit  的主要改进:
      • 可以通过覆盖 Model.train_step 将自定义训练逻辑与 Model.fit 结合使用。
      • 轻松编写最新的培训循环,而不必担心 Model.fit 为你处理的所有功能(分发策略,回调,数据格式,循环逻辑等)
      • SavedModel 现在使用其自己的 Model._saved_model_inputs_spec attr 而不是依赖于不再为子类 Model 设置的 Model.inputs 和 Model.input_names
      • 生成器支持动态形状。
    • 现在,SavedModel 格式支持所有 Keras 内置层(包括指标,预处理层和有状态 RNN 层)。
    • 更新 Keras 批处理规范化层,以使用 fused_batch_norm 中的运行平均值和平均值计算。
  • tf.lite
    • 默认情况下启用 TFLite 实验性新转换器。
  • XLA
    • XLA 现在可以在 Windows 上构建并运行。所有预构建的软件包都随附有 XLA。
    • 可以在 CPU 和 GPU 上使用“编译或抛出异常”语义为 tf.function 启用 XLA。

新版本包含大量 bug 修复等,详情可见更新说明:

https://github.com/tensorflow/tensorflow/releases/tag/v2.2.0

下载地址:

https://github.com/tensorflow/tensorflow



                    

人已赞赏
企业应用开发工具

基于laravel+reactjs实现的类Jira的问题需求跟踪工具:ActionView 1.11.0

2020-5-6 10:54:20

博客

谷歌开源更快、更高效的 TensorFlow 运行时 TFRT

2020-5-8 9:53:48

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索