常用函数
1 | tf.cast(张量名,dtype=数据类型) # 强制转换 |
axis 参数
如在一个二维张量中,可以通过调整axis的值来操找各个维度
axis=0时表示对跨行操作,axis=1时表示跨列操作
1 | tf.reduce_mean(张量名,axis=操作轴) # 沿着指定张量求均值 |
可训练标记Variable
1 | tf.Variable(初始值) # 将变量标记为可训练的 |
四则运算
1 | tf.add(张量1, 张量2) # 张量相加 |
只有维度相同才可进行四则运算
平方、次方、开方
1 | tf.square(张量名) # 计算张量平方 |
矩阵乘法
1 | tf.matmul(矩阵1,矩阵2) |
特征与标签配对
1 | data = tf.data.Dataset.form_tensor_slices((输入特征,标签)) |
求导
某个函数对指定参数的求导运算
with结构记录计算过程,gradient求出张量梯度
1 | with tf.GradientTape() as tape: |
结果
GradientTape 可理解为“ 梯度流磁带”
在求导阶段:通过搜索 source node 到 target node 的路径,进而计算出偏微分
assign_sub
赋值操作,更新参数值并返回。
调用函数时,必须使用tf.Variable 定义变量w为可训练(可自更新)。
w.assign_sub(w要自减的内容)
1 | w = tf.Variable(4) |
tf.argmax
返回指定维度最大值元素的索引
1 | import numpy as np |
