Jse*_*mol 5 python arrays numpy
我有一个 32 个 numpy 数组的列表,每个数组都有 shape (n, 108, 108, 2)
,n
每个数组的形状不同。我想将它们全部堆叠起来创建一个 shape 的 numpy 数组(32, m, 108, 108, 2)
,其中m
是 s 中的最大值n
,较短的数组用零填充。
我该怎么做呢?
我昨天问了类似的问题,但是当像我的例子一样使用深度数组时,那里的答案似乎被破坏了。
具体来说,我最终采用了这个解决方案,它产生了最干净的代码:
data = np.column_stack(zip_longest(*data, fillvalue=0))
Run Code Online (Sandbox Code Playgroud)
但现在它抛出这个错误:
ValueError: setting an array element with a sequence.
Run Code Online (Sandbox Code Playgroud)
我在这个网页中找到了一个神圣的答案。
该pad_sequences
功能正是我所需要的。
from tensorflow.python.keras.preprocessing.sequence import pad_sequences
result = pad_sequences(imgs, padding='post')
Run Code Online (Sandbox Code Playgroud)