直观理解:
tf.argmax(vector, 1):返回的是vector中的最大值的索引号,
- 如果vector是一个向量,那就返回一个值,
- 如果是一个矩阵,那就返回一个向量,这个向量的每一个维度都是相对应矩阵行的最大值元素的
import tensorflow as tf import numpy as np A = [[1,3,4,5,6]] B = [[1,3,4], [2,4,1]] with tf.Session() as sess: print(sess.run(tf.argmax(A, 1))) print(sess.run(tf.argmax(B, 1)))
输出:
[4]
[2 1]
---------------------
参考文献:https://blog.csdn.net/UESTC_C2_403/article/details/72232807
axis
其中tf.argmax(vec,axis)中得到axis的作用,如下,用于控制是以列还是行
test = np.array([[1, 2, 3], [2, 3, 4], [5, 4, 3], [8, 7, 2]]) np.argmax(test, 0) #输出:array([3, 3, 1] np.argmax(test, 1) #输出:array([2, 2, 0, 0]123
下面为中文文档 ,通常的用法
- 利用tf.argmax()分别得出预测值和真实值所在位置,
- 利用tf.equal()判断2个位置是否对应相等,并得到一个一个bool元素的列表list,如False,True]
- 利用tf.cast()强制转换list得到float型[0,1]