问题描述
我有几个 3 维 numpy 数组,我想将它们连接在一起,作为我的 LSTM 神经网络的训练集。它们的形状大多是 (1,m,n)
我想加入他们,例如np.arr(1,50,20) + np.arr(1,20) = np.arr(2,20) 和 np.arr(1,20) + np.arr(3,20) = np.arr(4,20)
numpy 的哪些堆栈函数适合我的问题?或者有其他更有效的方法来解决它吗?
解决方法
对第一个轴使用 numpy concatenate
。
import numpy as np
rng = np.random.default_rng()
a = rng.integers(0,10,(1,3,20))
b = rng.integers(-10,-1,(2,20))
c = np.concatenate((a,b),axis=0)
print(c.shape)
(3,20)
,
使用np.vstack
x = np.array([[[2,5],[4,5,1]]])
y = np.array([[[1,8],[8,9]]])
x.shape
(1,2,3)
np.vstack((x,y)).shape
(2,3)