我正在加载形状为(((23094,71,768),(23094,19,282))的预训练模型。
当我传递形状为(29116,72,768)的新X值时,它在检查输入时显示错误:预期lstm_1_input具有形状(71,768),但形状为数组( 72,768)。
这是我的模型摘要: 型号:“ sequential_1”
lstm_1(LSTM)(无,71,256)1049600
lstm_2(LSTM)(无,71,64)82176
lstm_3(LSTM)(无,32)12416
dense_1(密集)(无,5358)176814
reshape_1(Reshape)(无,19,282)0
总参数:1,321,006 可训练的参数:1,321,006 不可训练的参数:0
答案 0 :(得分:0)
LSTM需要3D数组(批大小,时间步长,功能)。训练时间长度可变的方法有很多(在您的情况下为71,维度= 1)。
在您的情况下,样本量= 23094、23094(不需要匹配)
时间维数= 71!= 19(如果您具有可变的输入长度,并且在同一批次中所有输入的长度相同,则可以不同,但是在模型摘要中,时间维数固定为71,而不是无,因此您必须使用71个时间维度进行训练)
特征尺寸= 768!= 282(必须相同)
只需使用零填充以匹配形状https://www.tensorflow.org/api_docs/python/tf/keras/layers/ZeroPadding2D
此外,提供完整的代码以获取基于代码的答案。