argmax函数定义:
argmax(input,
axis=None,
name=None,
dimension=None,
output_type=dtypes.int64)
参数
返回值:
示例:
A = [[1,3,4,5,6]]
B = [[1,3,4], [2,4,1]]
C = [[[16,6,3],[4,6,5]], [[8,7,9], [11,12,10]]]
with tf.Session() as sess:
print(sess.run(tf.argmax(A, 0)))
print(sess.run(tf.argmax(A, 1)))
print(sess.run(tf.argmax(A, 1, output_type=tf.int32)))
print(sess.run(tf.argmax(B, 0)))
print(sess.run(tf.argmax(B, 1)))
print(sess.run(tf.argmax(C, 0)))
print(sess.run(tf.argmax(C, 1)))
print(sess.run(tf.argmax(C, 2)))
输出:
[0 0 0 0 0]
#(A,0) 在向量列中找最大值的索引,而每个数据在每列中都是最大的(因为只有一个数),故返回[0 0 0 0 0]
[4]
#(A,1) 在向量行中找最大值的索引,6结果最大,最后返回6的序号[4]
[4]
#(A,1,output_type=tf.int32) 在向量行中找最大值的索引,6结果最大,最后返回6的序号[4]
[1 1 0]
#(B,0) 在矩阵列中找最大值的索引, 1 2最大值为2,故返回1; 3 4最大值为4,故返回1; 4 1最大值为4,故返回0, 最后返回[1 1 0]
[2 1]
#(B,1) 在矩阵行中最大致的索引, 1 3 4最大值为4,故返回2; 2 4 1最大值为4,故返回1, 最后返回[2,1]
[[0 1 1]
[1 1 1]]
#(C,0) 在矩阵第0轴找最大值的索引, 16 8最大值为16,故返回0; 6 7最大值为7,故返回1; 相类似,最后5 10最大值为10,故返回1, 最后返回[[0 1 1][1 1 1]]
[[0 0 1]
[1 1 1]]
#(C,1) 在矩阵第1轴找最大值的索引, 16 4最大值为16,故返回0; 6 6最大值为6,故返回0,相类似,最后9 10最大值为10,故返回1 最后返回[[0 0 1][1 1 1]]
[[0 1]
[2 1]]
#(C,2) 在矩阵第2轴找最大值的索引, 16 6 3中最大值为16,故返回0; 4 6 5最大值为6,故返回1;8 7 9最大值为9,故返回2;11 12 10最大值为12,故返回1; 最后结果为[[0 1][2 1]]
其实tensorflow中的argmin,argmax和numpy中的argmin,argmax是一样的,都是返回索引。
参考:https://www.cnblogs.com/logo-88/p/9295858.html