比较与tf.arg_max的差异
tf.arg_max
tf.arg_max(input, dimension, output_type=tf.dtypes.int64, name=None)
更多内容详见tf.arg_max。
mindspore.Tensor.argmax
mindspore.Tensor.argmax(axis=None)
更多内容详见mindspore.Tensor.argmax。
使用方式
功能相同,MindSpore和TensorFlow的两接口分别通过参数axis
和dimension
入参决定基于哪个维度返回最大值的索引。
不同点在于,默认状态下,MindSpore的axis=None
,返回最大值的全局索引;TensorFlow的dimension
不传入数值时,默认返回dimension=0
的最大值索引。
代码示例
import mindspore as ms
a = ms.Tensor([[1, 10, 166.32, 62.3], [1, -5, 2, 200]], ms.float32)
print(a.argmax())
print(a.argmax(axis=0))
print(a.argmax(axis=1))
# output:
# 7
# [0 0 0 1]
# [2 3]
import tensorflow as tf
tf.enable_eager_execution()
b = tf.constant([[1, 10, 166.32, 62.3], [1, -5, 2, 200]])
print(tf.argmax(b).numpy())
print(tf.argmax(b, dimension=0).numpy())
print(tf.argmax(b, dimension=1).numpy())
# output:
# [0 0 0 1]
# [0 0 0 1]
# [2 3]