Для ввода LSTM, для пакетирования ваших последовательностей вам необходим мини-пакет одинакового размера. Для этого вы можете использовать np.pad
, чтобы сделать его одинакового размера. Обычно вы дополняете нулями.
>>> a = np.pad(a, pad_width=[(0,1),(0,0)]) # pad by zeros
>>> a
array([[0, 1],
[2, 3],
[0, 0]])
>>> b
array([[0, 1],
[2, 3],
[4, 5]])
>>> np.stack([a,b])
array([[[0, 1],
[2, 3],
[0, 0]],
[[0, 1],
[2, 3],
[4, 5]]])
Параметр
pad_width: {sequence, array_like, int}
- Количество значений, добавленных к краям каждой оси. ((before_1, after_1),… (before_N, after_N)) уникальная ширина площадки для каждой оси. ((до, после),) дает одинаковые до и после площадки для каждой оси. (pad,) или int - это сокращение для before = after = ширина площадки для всех осей.
Другие варианты см. здесь