内容目录
一、TensorFlow 2.0 介绍二、tf1 和 tf2 的主要变化1、Eager执行2、AutoGraph3、tf.keras4、模型训练三、TF 1.0到2.0迁移
一、TensorFlow 2.0 介绍
Google推出了全新的版本TensorFlow 2.0,2.0版本相比1.0版本不是简单地更新,而是一次重大升级。简单地来说,TensorFlow 2.0默认采用eager执行模式,而且重整了很多混乱的模块。毫无疑问,2.0版本将会逐渐替换1.0版本,所以很有必要趁早入手TensorFlow 2.0。
#初学者的 TensorFlow 2.0 教程
https://tensorflow.google.cn/tutorials/quickstart/beginner
二、tf1 和 tf2 的主要变化
1、Eager执行
TensorFlow的Eager执行时一种命令式编程(imperative programming),这和原生Python是一致的,当你执行某个操作时是立即返回结果的。而TensorFlow一直是采用Graph模式,即先构建一个计算图,然后需要开启Session,喂进实际的数据才真正执行得到结果。显然,eager执行更简洁,我们可以更容易debug自己的代码,这也是为什么PyTorch更简单好用的原因。一个简单的例子如下:
x = tf.ones((2, 2), dtype=tf.dtypes.float32)
y = tf.constant([[1, 2],
[3, 4]], dtype=tf.dtypes.float32)
z = tf.matmul(x, y)
print(z)
# tf.Tensor(
# [[4. 6.]
# [4. 6.]], shape=(2, 2), dtype=float32)
print(z.numpy())
# [[4. 6.]
# [4. 6.]]
tf.Tensor(
[[4. 6.]
[4. 6.]], shape=(2, 2), dtype=float32)