import tensorflow as tf
#tf.norm
#tf.reduce_min/max
#tf.equal
#tf.unique
#2范数
a = tf.ones([2,2])
tf.norm(a)
tf.sqrt(tf.reduce_sum(tf.square(a)))
a =tf.ones([4,28,28,3])
tf.norm(a)
tf.sqrt(tf.reduce_sum(tf.square(a)))
#1范数
b = tf.ones([2,2])
tf.norm(b)
#指定维度进行范数求解
tf.norm(b,ord=2,axis=1)
tf.norm(b,ord=1)
tf.norm(b,ord=1,axis=0)
tf.norm(b,ord=1,axis=1)
#前面的reduce指的是这样的操作是相当于降维的过程
#reduce_min/max/mean
a = tf.random.normal([4,10])
#获取矩阵中同行的最小/平均/最大值
tf.reduce_min(a),tf.reduce_max(a),tf.reduce_min(a)
#指定维度获取矩阵中同行的最小/平均/最大值
tf.reduce_min(a,axis=1),tf.reduce_max(a,axis=1),tf.reduce_min(a,axis=1)
#返回一个有最大/最小值的位置构成的矩阵[最大/最小值,对应的值在本行的位置]
a.shape
tf.argmax(a).shape
tf.argmax(a)
tf.argmin(a).shape
#比较操作
a = tf.constant([1,2,3,2,5])
b = tf.range(5)
#对应的值不一样就会在对应的位置上返回false
tf.equal(a,b)
res = tf.equal(a,b)
#利用上面学到的,组合嵌套把false转换为0,true转化为1,再做累加,那么得到的就是相同的个数
tf.reduce_sum(tf.cast(res,dtype=tf.int32))
#Accuracy
a
pred = tf.cast(tf.argmax(a,axis=1),dtype=tf.int32)
y
tf.equal(y,pred)
correct = tf.reduce_sum(tf.cast(tf.equal(y,pred),dtype = tf.int32))
correct
correct/2
#tf.unique去除重复
a = tf.range(5)
tf.unique(a)
a = tf.constant([4,2,2,4,3])
tf.unique(a)
tensorflow2.0基本操作七
最新推荐文章于 2024-07-21 22:27:18 发布