Python 叠加卷积和LSTM层的问题
我正试图利用神经网络,根据过去的回报预测未来200天的股票回报。我已经实现了由几个LSTM层组成的网络,它工作正常:Python 叠加卷积和LSTM层的问题,python,tensorflow,keras,conv-neural-network,lstm,Python,Tensorflow,Keras,Conv Neural Network,Lstm,我正试图利用神经网络,根据过去的回报预测未来200天的股票回报。我已经实现了由几个LSTM层组成的网络,它工作正常: lstm2=Sequential([ LSTM(50,input_shape=[None,1],return_sequences=True), Dropout(0.2), LSTM(50,return_sequences=True), Dropout(0.2), LSTM(50), Dense(200) ]) 但是,当我尝试在LSTM层的顶部堆叠CONV1D层时: lstm_c
lstm2=Sequential([
LSTM(50,input_shape=[None,1],return_sequences=True),
Dropout(0.2),
LSTM(50,return_sequences=True),
Dropout(0.2),
LSTM(50),
Dense(200)
])
但是,当我尝试在LSTM层的顶部堆叠CONV1D层时:
lstm_conv=Sequential([
Conv1D(filters=50,kernel_size=4,padding='valid',input_shape=[None,1]),
LSTM(50,return_sequences=True),
LSTM(50),
Dense(200)
])
我在fit中遇到了一个错误:
ValueError:维度必须相等,但对于“{{node mean_squared_error/SquaredDifference}}}=SquaredDifference[T=DT_FLOAT](sequential_9/densite_9/biaadd,IteratorGetNext:1)”和输入形状:[?,200],?,99],维度为200和99
fit的代码是:
lstm_conv.fit(xtrain,ytrain[:,3::2],epochs=10,validation_data=(xval,yval[:,3::2]))
我的train X输入的形状是(1557,20,1),也就是说,我有1557个train实例,每个实例返回时间为20,并且每次有一个步长(序列是单变量的)。对于y,它是(1557200)
我不知道如何解决这个问题,我已经浏览了互联网上的几个线程,但没有发现类似的问题。非常感谢您的帮助。在Conv1D中,尝试设置
padding='consular'
@Frightera,但该设置无效。不幸的是,相同的错误仍然存在