90

我是 Keras 的初学者,需要帮助来理解keras.argmax(a, axis=-1)keras.max(a, axis=-1). axis=-1什么时候是什么意思a.shape = (19, 19, 5, 80)?还有 和 的输出是keras.argmax(a, axis=-1)什么keras.max(a, axis=-1)

4

1 回答 1

178

这意味着 argmax 将返回的索引将取自最后一个轴。

你的数据有一些形状(19,19,5,80)。这表示:

  • 轴 0 = 19 个元素
  • 轴 1 = 19 个元素
  • 轴 2 = 5 个元素
  • 轴 3 = 80 个元素

现在,负数的工作方式与 python 列表、numpy 数组等中的工作方式完全相同。负数表示相反的顺序:

  • 轴 -1 = 80 个元素
  • 轴 -2 = 5 个元素
  • 轴 -3 = 19 个元素
  • 轴 -4 = 19 个元素

当您将axis参数传递给argmax函数时,返回的索引将基于此轴。您的结果将丢失此特定轴,但保留其他轴。

argmax查看每个索引会返回什么形状:

  • K.argmax(a,axis= 0 or -4)返回(19,5,80)值来自0 to 18
  • K.argmax(a,axis= 1 or -3)返回(19,5,80)值来自0 to 18
  • K.argmax(a,axis= 2 or -2)返回(19,19,80)值来自0 to 4
  • K.argmax(a,axis= 3 or -1)返回(19,19,5)值来自0 to 79
于 2017-11-22T13:35:50.613 回答