keras.argmax中axis=-1是啥意思?
Posted
技术标签:
【中文标题】keras.argmax中axis=-1是啥意思?【英文标题】:What is the meaning of axis=-1 in keras.argmax?keras.argmax中axis=-1是什么意思? 【发布时间】:2018-05-06 05:46:30 【问题描述】:我是 Keras 的初学者,需要帮助来理解 keras.argmax(a, axis=-1)
和 keras.max(a, axis=-1)
。当a.shape = (19, 19, 5, 80)
时axis=-1
是什么意思?还有keras.argmax(a, axis=-1)
和keras.max(a, axis=-1)
的输出是什么?
【问题讨论】:
有人在关注 deeplearning.ai 的卷积神经网络课程 :-) 除了 Daniel Möller 的出色回答之外,如果您的数据具有(19,19,5,80)
的形状,那么 keras.max(a, axis=-1)
将返回一个形状为 (19,19,5)
的矩阵,其中输出矩阵的每个值都是最大值80 个元素中的最大值(在最后一个索引中指定的最大值)
【参考方案1】:
这意味着 argmax 将返回的索引将取自最后一个轴。
您的数据具有某种形状(19,19,5,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
【讨论】:
谢谢!我正在使用不同的数据结构,结果证明使用 Keras 轴索引很重要,例如 K.sum(three_dimensional_array, axis=[0,1])。 另见:***.com/questions/46298110/…以上是关于keras.argmax中axis=-1是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章