机器学习练习(三)-TensorFlow2基本使用
使用python ,安装好TensorFlow2,然后使用
import tensorflow as tf tf.__version__
查看TensorFlow的版本
新建一个形状为(2,2)的二维变量
var = tf.Variable([[1,2],[3,4]])
新建一个形状为(2,2)的二维常量
con = tf.constant([[1, 2], [3, 4]])
一些经常用到建立特殊常量张量的方法。
tf.zeros:新建指定形状且全为 0 的常量 Tensor
tf.zeros_like:参考某种形状,新建全为 0 的常量 Tensor
tf.ones:新建指定形状且全为 1 的常量 Tensor
tf.ones_like:参考某种形状,新建全为 1 的常量 Tensor
tf.fill:新建一个指定形状且全为某个标量值的常量 Tensor
矩阵乘法计算
a = tf.constant([1., 2., 3., 4., 5., 6.], shape=[2, 3]) b = tf.constant([7., 8., 9., 10., 11., 12.], shape=[3, 2]) c = tf.linalg.matmul(a, b) # 矩阵乘法
自动微分
w = tf.Variable([1.0]) # 新建张量 with tf.GradientTape() as tape: # 追踪梯度 loss = w * w grad = tape.gradient(loss, w) # 计算梯度
𝑙𝑜𝑠𝑠=𝑤2→∂𝑙𝑜𝑠𝑠∂𝑤=2𝑤
tf.GradientTape 会记录下计算图中的梯度信息,然后使用 .gradient 可以计算出任意梯度
常用模块
tf.:包含了张量定义,变换等常用函数和类。
tf.data:输入数据处理模块,提供了像 tf.data.Dataset 等类用于封装输入数据,指定批量大小等。
tf.image:图像处理模块,提供了像图像裁剪,变换,编码,解码等类。
tf.keras:原 Keras 框架高阶 API。包含原 tf.layers 中高阶神经网络层。
tf.linalg:线性代数模块,提供了大量线性代数计算方法和类。
tf.losses:损失函数模块,用于方便神经网络定义损失函数。
tf.math:数学计算模块,提供了大量数学计算函数。
tf.saved_model:模型保存模块,可用于模型的保存和恢复。
tf.train:提供用于训练的组件,例如优化器,学习率衰减策略等。
tf.nn:提供用于构建神经网络的底层函数,以帮助实现深度神经网络各类功能层。
tf.estimator:高阶 API,提供了预创建的 Estimator 或自定义组件