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)。这意味着:

轴 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

【讨论】:

谢谢!我正在使用不同的数据结构,结果证明使用 Keras 轴索引很重要,例如 K.sum(three_dimensional_array, axis=[0,1])。 另见:***.com/questions/46298110/…

以上是关于keras.argmax中axis=-1是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章

在TensorFlow中,函数'tf.one_hot'中的参数'axis'是啥

Axis2 客户端的最小类路径是啥?

Swift 闭包中的 $0 和 $1 是啥意思?

::1 在 apache 日志中是啥意思?

-1 在 pytorch 视图中是啥意思?

以下代码中的 1.e0 是啥意思