将NumPy中的“ N”个2D数组(具有不同尺寸)连接为一个3D数组

时间:2019-12-13 01:06:19

标签: python numpy keras numpy-ndarray

我有N个2D要素样本,沿一个轴具有可变尺寸。例如:

  • 示例1:(100,20)
  • 示例2:(150,20)
  • 示例3:(90,20)

    有没有一种方法可以将所有N个样本组合成一个3D数组,以使第一维(N,?,?)表示样本编号?

PS:我希望避免填充和重塑,并希望找到一种将尺寸完整的要素输入Keras中的LSTM网络的方法。欢迎其他任何实现相同建议的建议。

1 个答案:

答案 0 :(得分:1)

Keras确实允许对LSTM进行可变长度的输入,但是在同一批中,所有输入必须具有相同的长度。一种减少所需填充的方法是根据输入序列的长度将它们分批处理,并且每次填充时最多填充最大长度。例如,您可能有一批序列长度为100的批次,另一批序列长度为150的批次。但是,恐怕没有办法完全避免填充。在推论过程中,您可以使用任何序列长度。