用keras进行LSTM模型训练,参数要求和实际使用的情况有差异:
model.add(LSTM(..., input_shape=(samples,timesteps ,data_dim), return_sequences=False))
但是实际使用中
input_shape=(timesteps ,data_dim)
就可以。
另外,在执行下一条命令后,
hist = model.fit(train_x,train_y,batch_size=30,epochs=1000)
如果出现类似
ValueError: Error when checking target: expected activation_3 to have 2 dimensions, but got array with shape (100, 20, 8)
的维度错误,实际错误可能是由于train_y的shape错误引起的。
train_y.shape应该为 (n,1) n=samples
而list经过np.array()转换后的数组,其shape可能为(n,)