Tensorflow2.0学习笔记(2):常用函数
tf.cast(张量名,dtype=数据类型) 转换数据类型
a=tf.constant([1,2,3,4,5])
print(a)
print(tf.cast(a,tf.float32))
tf.reduce_min(张量名) 找最小值
print(tf.reduce_min(a))
print(tf.reduce_max(a))
tf.reduce_max(张量名) 找最大值
print(tf.reduce_min(a))
print(tf.reduce_max(a))
tf.reduce_mean(张量名,axis=操作轴) 计算指定维度的平均值
a=tf.constant([[1,2,3],
[4,5,6]])
print(tf.reduce_mean(a,0))
print(tf.reduce_mean(a,1))
tf.reduce_sum(张量名,axis=操作轴) 计算指定维度的和
print(tf.reduce_sum(a,0))
print(tf.reduce_sum(a,1))
tf.Variable(初始值) 将变量标记为可训练
w=tf.Variable(tf.random.normal([2,2],mean=0,stddev=1))
print(w)
加减乘除
a=tf.constant([[1,2],[3,4]])
b=tf.constant([[3,4],[5,6]])
#对应元素的加减乘除
print(tf.add(a,b))
print(tf.subtract(a,b))
print(tf.multiply(a,b))
print(tf.divide(a,b))
平方、开方、次方
a=tf.constant([4,4])
print(tf.pow(a,3))#次方
print(tf.square(a))#平方
矩阵乘法
a=tf.ones([3,2])
b=tf.fill([2,3],1.)
print(tf.matmul(a,b))#tf.matmul(矩阵1,矩阵2)
生成输入特征标签对
data=tf.data.Dataset.from_tensor_slices(输入特征,标签)
features=tf.constant([12,23,10,17])
labels=tf.constant([0,1,1,0])
dataset=tf.data.Dataset.from_tensor_slices((features,labels))
print(dataset)
for i in dataset:
print(i)
求张量梯度
with tf.GradientTape() as tape:
w=tf.Variable(tf.constant(3.0))
loss=tf.pow(w,2)
grad=tape.gradient(loss,w)
print(grad)
枚举
seq=['one','two','three']
for i,element in enumerate(seq):
print(i,element)
独热码
将标签从单独形式转化为独热码形式
tf.one_hot(待转换标签,depth=几分类)
classes=3
labels=tf.constant([1,0,2])
print(tf.one_hot(labels,depth=classes))
使输出符合独热码形式的概率分布
y=tf.nn.softmax(x),其中x各元素相加不等于1,y中各元素相加等于1
x=tf.constant([1,1,2])
y=tf.nn.softmax(x)
print(y)
参数自更新
w.assign_sub(w要自减的内容),w为变量
返回指定操作轴方向的最大值索引号
tf.argmax(张量名,axis=轴序号)
a=tf.constant([[1,2,3],
[4,5,6]])
print(a)
print(tf.cast(a,tf.float32))