gpt4 book ai didi

python - 如何将一维 ndarray 列表转换为二维 ndarray (mxnet ndarray)

转载 作者:太空宇宙 更新时间:2023-11-04 02:18:21 32 4
gpt4 key购买 nike

在这个例子中,我有一个一维 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.vstacknp.array两者都适用于共同的 listndarray问题,但无法解决我的问题,所以我怀疑这是 mxnet 的一些特例

最佳答案

您可以使用np.vstack。这是一个例子:

import numpy as np

li = [np.zeros(2048) for _ in range(9)]
result = np.vstack(li)
print(result.shape)

这会根据需要输出 (9, 2048)

关于python - 如何将一维 ndarray 列表转换为二维 ndarray (mxnet ndarray),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52124584/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com