强制tensor转换为该数据类型
tf.cast(张量名,dtype=数据类型)
计算张量维度上的最小,最大值
tf.reduce_min(张量名)
tf.reduce_max(张量名)
理解axis
在一个二维张量或数组中,可以通过调整axis 等于0或1 控制执行维度
axis=0代表跨行(经度,down),
而axis=1代表跨列(纬度,across)
如果不指定axis,则所有元素参与计算
计算张量沿着指定维度的平均值,和
#平均值
tf.reduce_mean(张量名,axis=操作轴)
#求和
tf.reduce_sum(张量名,axis=操作轴)
tf.Variable()将变量标记为‘可训练’,被标记的变量会在反向传播中记录梯度信息。神经网络训练中,常用于该函数标记带训练参数。
tf.Variable(初始值)
#例
w=tf.Variable(tf.random.normal([2,2],mean=0,stddev=1))
四则运算(只有维度相同的张量才可以做四则运算)
tf.add
tf.subtract
tf.multiply
tf.divide
平方,次方,开方
tf.square
tf.pow
tf.sqrt
矩阵乘
tf.matmul
tf.data.Dataset.from_tensor_slices
切分传入张量的第一维度,生成输入特征/标签对。构建数据集(Numpy,Tensor格式都适用)
data=tf.data.Dataset.from_tensor_slices((输入特征,标签))
with结构记录计算过程,gradient求出张量的梯度
with tfGradientTape() as tape:
grad=tape.grandient(函数,对谁求导)
enumerate是python的内建函数,它可遍历每个元素(列表,元组,字符串),组合:索引 元素,常用于for 循环中
enumerate(列表名)
#例
seq=['one','two','three']
for i element in enumerate(seq):
print(i,element)
结果:
0 one
1 two
2 three
tf.one_hot,独热编码:在分类问题中,常用独热编码做标签 1表示是,0表示非
tf.one_hot(待转换数据,depth=几分类)
tf.nn.softmax(),使输出符合概率分布
y=tf.constant([1.01,2.01,-0.66])
y_pro=tf.nn.softmax(y)
assign_sub
赋值操作,更新参数的值并返回
调用assign——sub前,先用头发。Variable定义变量w为可训练(可自动更新)
w.assign_sub(w要自减的内容)
w=tf.Variable(4)
w.assign_sub(1)
tf.argmax 返回张量沿指定维度最大的索引
tf.argmax(张量名,axis=操作轴)