大白一枚 记录学习点滴
敲代码时本想敲argmax 结果出来个arg_max
[懵逼状] 突然想搞清有什么区别
tf.argmax() 与 numpy.argmax() 方法的意思是一致的, 即:
axis = 0 时 返回每一列最大值的位置索引
axis = 1 时 返回每一行最大值的位置索引
下面是argmax的代码:
https://github.com/tensorflow/tensorflow/blob/master/tensorflow/python/ops/math_ops.py).
# pylint: disable=redefined-builtin
# TODO(aselle): deprecate arg_max
def argmax(input, axis=None, name=None, dimension=None):
if dimension is not None:
if axis is not None:
raise ValueError("Cannot specify both 'axis' and 'dimension'")
axis = dimension
elif axis is None:
axis = 0
return gen_math_ops.arg_max(input, axis, name)
所以说 argmax()是基于arg_max()的基础上的增添了一项形参,而且还不能同时指定axis和dimension
若指定了axis,未指定dimension,则直接运行arg_max;
若未指定axis,指定了dimension,则axis=dimension,运行arg_max;
若均未指定,则axis=0,运行arg_max。
参考:
https://stackoverflow.com/questions/42287954/tf-argmax-vs-tf-arg-max-in-tensorflow