在这个例子中,我有一个一维 ndarray 列表,长度为 9,列表有 9 个元素,每个元素有 shape=(2048,)
,所以完全9 * (2048,)
, 我得到这些 ndarray
来自 mxnet
这样每个 ndarray
是<NDArray 2048 @cpu(0)>
数组 dtype=numpy.float32
如果我使用 np.asarray
对这个列表进行改造,变成如下结果
shape=<class 'tuple'>: (9, 2048, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
显然,我想要一个二维数组,shape=(9, 2048)
, 如何解决这个问题?
ps: 我是通过保存一个 npy
发现这个问题的文件并加载它。在将其转换为 ndarray
之前,我直接保存了列表(所以np.save
会自动把列表转换成ndarrary
)我加载后发现形状变成了上面的东西,真是不正常
下面的答案,np.vstack
和 np.array
两者都适用于共同的 list
至 ndarray
问题,但无法解决我的问题,所以我怀疑这是 mxnet
的一些特例
我是一名优秀的程序员,十分优秀!