一、函数功能描述
tf.argmax(a,1)指在张量a的第一维度找到最大值的下标,并返回ndarray
tf.equal(a, b)指将a和b中对应相同的项标为True,其余的标记为False,前提是a与b得相同shape
tf.cast(equal, tf.float32)是指将equal中的True标为浮点1,False标为浮点0
tf.reduce_mean(test)指将test中的为1的数目除以总数目,一般用于准确率计算
二、相关代码
if __name__ == "__main__":
a = [[1, 2, 3], [4, 2, 3]]
a = tf.constant(a)
b = [[2, 3, 4], [5, 4, 8]]
b = tf.constant(b)
equal = tf.equal(tf.argmax(a, 1), tf.argmax(b, 1))
cast = tf.cast(equal, tf.float32)
test = tf.constant([1.,1.,1.,0.,0.,1.])
redmean = tf.reduce_mean(test)
with tf.Session() as sess:
tf.global_variables_initializer().run()
print(sess.run(tf.argmax(a, 1)))
print(sess.run(tf.argmax(b, 1)))
print(sess.run(equal))
print(sess.run(cast))
print(sess.run(redmean))