TensorFlow 2.0 出来后不久就有人整理了一份简洁高效的中文指导手册: 简单粗暴 TensorFlow 2,本文对其中一些重点内容加以梳理,方便快速上手。
如果你还没装上 TensorFlow 2.0 ,或者希望对 TensorFlow 2.0 的新特性有个大概的了解,可以查看我之前的文章:tensorflow2.0 GPU 版本安装测试教程及新特性初探
TensorFlow 基础
自动求导机制
TensorFlow 提供了强大的 自动求导机制 来计算导数。在即时执行模式(eager execution)下,TensorFlow 引入了 tf.GradientTape()
这个 “求导记录器” 来实现自动求导。以线性回归为例子,假设其损失函数为:
L ( w , b ) = ∣ ∣ X w + b − y ∣ ∣ 2 L(w, b) = ||Xw+b-y||^2 L(w,b)=∣∣Xw+b−y∣∣2
我们用下面的代码计算给定 X 与 y 后, L ( w , b ) L(w,b) L(w,b) 在 w = ( 1 , 2 ) T , b = 1 w=(1,2)^T, \; b=1 w=(1,2)T,b=1 时对 w , b w,b w,b 的偏导数。
import tensorflow as tf
X = tf.constant([[1., 2.], [3., 4.]])
y = tf.constant([[1.], [2.]])
# 初始化要学习的参数
w = tf.Variable(initial_value=[[1.], [2.]])
b = tf.Variable(initial_value=1.)
# 在 tf.GradientTape() 的上下文内,所有计算步骤都会被记录以用于求导
with tf.GradientTape() as tape:
L = tf.reduce_sum(tf