使用Keras,我想在一批大小N上训练RNN(带有LSTM单元),每个时间步长具有K个时间步长和大小为L的向量(解码器输出是大小为L的一个向量) .
可悲的是,我在使其适用于不同尺寸的时间步长时遇到麻烦,即对于不同的K.
有两个与此相关的问题:
-
每当我尝试用numpy创建一个3D张量时,我得到类型:array(list(array()))而不是type:array(array(array())),因为我的第二个维度没有修复 . 得到的形状是(N,)而不是(N,-1,L)
-
我发现填充是单变量时间序列的一种解决方案,但我有
L>>1
的每个时间步长L的向量 . 另外,(1)的形状不适合,即使我使用:
model.add(LSTM(50,input_shape =(N,None,L)))//对于不同的K没有
或者是每个批处理实例调用fit-method N次的唯一解决方案?
你有什么想法,如何解决我的问题?
任何指针将不胜感激 .
1 回答
您必须将数据数组填充到最大时间步长
也不要使用input_shape传递批量大小