TensorFlow argmax函数

获取行/列中最大值的索引号

tf.argmax(input, axis=None, name=None, dimension=None)

axis:0按列,1按行。

举个例子

[[1,2,3,4]]

A=[[1,2,3,4]]
tf.argmax(A, 0)
tf.argmax(A, 1)

会得到

[0 0 0 0]

[3]

因为按列算,每一列的第唯一一个数组就是最大的数字,其索引号都是0。所以所有的列返回的都是0,总共有4列所以返回:[0,0,0,0]

按行计算得到的就是这一行4个数字中最大的数字4的索引号:3所以返回[3]

中计算交叉熵的时候就使用了这个函数:

cross_entropy = tf.nn.sparse_softmax_cross_entropy_with_logits(logits=y, labels=tf.argmax(y_, 1))

在计算单一分类问题的交叉熵时,通常是这样绑定使用的。

这里的y_是测试数据的真实值。y是我们神经网络预测的值。

这里通过tf.argmax(y_, 1)方法,就获取到正确答案的序号了。然后再进行交叉熵的计算。

参考链接:

http://blog.csdn.net/zj360202/article/details/70259999

http://blog.csdn.net/UESTC_C2_403/article/details/72232807