在教程中对mxnet中的sum_轴感到困惑
我正在阅读上的mxnet教程,对sum_轴函数的使用感到困惑,示例如下:在教程中对mxnet中的sum_轴感到困惑,mxnet,Mxnet,我正在阅读上的mxnet教程,对sum_轴函数的使用感到困惑,示例如下: >>> a = mx.nd.ones((2,3)) >>> c = mx.nd.sum_axis(a, axis=1) >>> c.asnumpy() array([ 3., 3.], dtype=float32) >>> c = mx.nd.sum_axis(a, axis=0) >>> c.asnumpy() a
>>> a = mx.nd.ones((2,3))
>>> c = mx.nd.sum_axis(a, axis=1)
>>> c.asnumpy()
array([ 3., 3.], dtype=float32)
>>> c = mx.nd.sum_axis(a, axis=0)
>>> c.asnumpy()
array([ 2., 2., 2.], dtype=float32)
我想知道的是,当parameter axis的值为1时,我认为它应该输出
array([ 2., 2., 2.], dtype=float32)
但不是
array([ 3., 3.], dtype=float32)
当parameter axis的值为1时,我认为sum_轴应该沿列计算sum,但结果显示它沿行计算sum
看起来numpy也是这样计算的,我真的不明白为什么会这样。
那么有人能解释这个吗
谢谢 Numpy描述了二维数组中的轴。二维数组有两个对应的轴:第一个轴垂直向下穿过行轴0,第二个轴水平穿过列轴1 例如,检查链接 MXNet也是如此。因此,在您上面提到的示例中: a=[[1,1,1.], [1,1,1.]]
轴0表示垂直向下。因此,它将给出输出[2,2,2],轴1表示水平穿过列。因此,它将为您提供输出[3,3.]谢谢!这就是我想要的。但我仍然有一个问题,如果有两个以上的轴怎么办。我认为这个可视化表示和切片示例将帮助您更详细地理解它。