python - 堆叠卷积和 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_conv=Sequential([
Conv1D(filters=50,kernel_size=4,padding='valid',input_shape=[None,1]),
LSTM(50,return_sequences=True),
LSTM(50),
Dense(200)
])
我遇到了一个错误:
ValueError:尺寸必须相等,但对于 '{{node mean_squared_error/SquaredDifference}} = SquaredDifference[T=DT_FLOAT](sequential_9/dense_9/BiasAdd, IteratorGetNext:1)' 输入形状为 200 和 99:[?,200] , [?,99]。
适合的代码是:
lstm_conv.fit(xtrain,ytrain[:,3::2],epochs=10,validation_data=(xval,yval[:,3::2]))
我的 train X 输入的形状是 (1557, 20, 1),即我有 1557 个 train 实例,每个实例回溯 20 并且每次有一个步骤(该系列是单变量的)。对于 y,它是 (1557, 200)
我不知道如何解决这个问题,我已经查看了互联网上的几个线程,但找不到类似的问题。将不胜感激任何帮助。
解决方案
推荐阅读
- java - Google Java Format 在格式化时无法读取文件
- powerbi - OLE DB 或 ODBC 错误:我们无法将值 null 转换为逻辑类型
- python - 加快将函数应用于熊猫数据框列表
- nosql - Couchbase 备份和从 cbbackupmgr 恢复
- sql - 如何将IP地址更改为其他格式?
- reactjs - React-virtualized List selected item 样式仅在向上滚动时触发
- katalon-studio - 在一个测试对象中输入数据会在katalon studio中的另一个测试对象上输入值
- ios - 如何做 UITextView 滚动检测和更改图像
- python - scipy.optimize.minimize results differ between Python 2.x-3.x
- python - 有没有办法使用 Matplotlib 中的时间序列数据生成类方波?