常用函数
数据类型:
tf.int 32 tf.float 32 tf.float 64 tf.bool tf.string
tf.constant(张量内容,dtype=数据类型)——创建张量
tf.zeros(维度)——创建全为0的张量,维度:一维直接写个数,二维用[行,列],多维用[n,m,j,k...]
tf.ones(维度)——创建全为1的张量
tf.fill(维度,指定值)——创建全为指定值的张量
tf.random.normal(维度,mean=均值,stddev=标准差)——生成正态分布的随机数,默认均值为0,标准差为1
tf.random.truncated_normal(维度,mean=均值,stddev=标准差)——生成截断式正态分布的随机数,默认均值为0,标准差为1
tf.random.uniform(维度,minval=最小值,maxval=最大值)——生成均匀分布的随机数
tf.cast(张量名,dtype=数据类型)——强制类型转换,从tensor转换为指定类型
tf.reduce_min(张量名)——在指定张良维度上找到最小值
tf.reduce_max(张量名)——在指定张量维度上找到最大值
axis:在二维张量或数组中,axis=0表示沿纵向维度进行执行,axis=1表示沿横向维度进行操作,如果不指定axis,则所有元素参加计算
tf.reduce_mean(张量名,axis=操作轴)——沿指定维度计算张量平均值
tf.reduce_sum(张量名,axis=操作轴)——沿指定维度计算张量和
tf.Variable()——将变量标记为“可训练”,被标记的变量会在反向传播中记录梯度信息。在神经网络训练中,常用该函数标记待训练参数
tf.add(张量1,张量2)——加(只有维度相同的张量才可以做四则运算)
tf.subtract(张量1,张量2)——减(只有维度相同的张量才可以做四则运算)
tf.multipiy(张量1,张量2)——乘(只有维度相同的张量才可以做四则运算)
tf.divide(张量1,张量2)——除(只有维度相同的张量才可以做四则运算)
tf.square(张量名)——平方
tf.pow(张量名,n次方数)——n次方
tf.sqrt(张量名)——开方
tf.matmul(矩阵1,矩阵2)——矩阵乘法
tf.data.Dataset.from_tensor_slices((输入特征,标签))——切分传入张量的第一维度,生成输入特征—标签对,构建数据集(numpy和tensor格式都可用该语句读入数据)
with结构记录计算过程,gradient求出张量的梯度:
with tf.GradientTape() as tape:
若干计算过程
grad = tape.gradient(函数,对谁求导)
enumerate(列表名)——遍历每个元素,组合为:索引 元素,常在for循环中使用
seq = ['one','two','three']
for i,element in enumerate(seq):
print(i,element)
运行结果:
0 one
1 two
2 three
tf.one_hot(待转换数据,depth=几分类)——将待转换的数据转换为独热码形式的数据输出
tf.nn.softmax()——将n个输出通过该函数转化为概率值,总概率为1,符合概率分布
assign_sub(w要自减的内容)——调用该函数前,先用tf.variable定义为w可训练,然后调用该函数,可以对w的值先更新再返回
tf.argmax(张量名,axis=操作轴)——返回张量沿指定维度的最大值的索引