Python AttributeError:“NDArray”对象没有属性“ravel”或“tolist”
我正在使用一个巨大的数组,并试图递归这个嵌套数组中的每个整数。名为box_id的NDArray如下所示:Python AttributeError:“NDArray”对象没有属性“ravel”或“tolist”,python,mxnet,gluon,Python,Mxnet,Gluon,我正在使用一个巨大的数组,并试图递归这个嵌套数组中的每个整数。名为box_id的NDArray如下所示: [[[-1.] [-1.] [-1.] ... [-1.] [-1.] [-1.]]] 当我写作的时候 for ids in box_ids[0]: print(ids) 我回来了: <NDArray 1 @cpu(0)>, [0.] <NDArray 1 @cpu(0)>, [0.] <NDArray 1 @cpu(0)
[[[-1.]
[-1.]
[-1.]
...
[-1.]
[-1.]
[-1.]]]
当我写作的时候
for ids in box_ids[0]:
print(ids)
我回来了:
<NDArray 1 @cpu(0)>,
[0.]
<NDArray 1 @cpu(0)>,
[0.]
<NDArray 1 @cpu(0)>,
[0.]
<NDArray 1 @cpu(0)>,
[1.]
<NDArray 1 @cpu(0)>,
[1.]
…一遍又一遍
我尝试过box_id.flatte,结果也一样。因此,我继续尝试.tolist和.ravel,但随后我得到属性错误,表示Numpy没有这些对象
基本上,我想要一个数组中所有单个整数的列表,这样我就可以对它们进行递归。理想情况下,最终列表可能类似于[0,0,0,1,1,…]。当我使用printids时,每个元素都有换行符和,这一事实真的令人困惑,我不知道如何摆脱它。当我使用printID时,我只需要如下所示:
0
0
1.
1
我希望这是有道理的。如果可以的话,非常感谢你的帮助 可以使用mxnet.ndarray.squesh删除未使用的嵌套维度,然后使用mxnet.ndarray.asnumpy转换为numpy数组以提取值列表,如下所示:
box_ids.squeeze().asnumpy().tolist()
如上所述,请注意,尽管MXNet Ndarray在设计上具有与Numpy阵列极其相似的API,但它们实际上是具有不同内部结构的完全不同的库。有关MXNet NDArray特性的更多详细信息,请参阅