keras - 使用针对不同时间步数据训练的模型进行不同时间步长的预测
问题描述
我已经用 3 个时间步训练了我的 LSTM。以下是 Keras LSTM 层。
model.add(LSTM(32, return_sequences=True, input_shape=(None, 3))).
前任:
X Y
[[1,2,3],[2,3,4],[4,5,6]] [[4],[5],[7]]
现在我需要预测具有不同 time_steps 的序列的下一个值(例如:2)
X= [[1,2]]
当我使用 X= [[1,2]]
我得到以下错误
ValueError: Error when checking input: expected lstm_1_input to have shape (None, 3)
but got array with shape (1, 2)
当我用于训练时,我是否应该提供相同的形状。
或者我仍然可以使用不同的时间步长(输入形状)进行预测。
感谢您在此问题上的帮助。
解决方案
我相信您在使用模型预测新数据时需要使用相同的形状。您的数据使用 3 个时间步 (train_X) 进行了训练,因此您应该在建模时为其提供 3 个时间步输入。预测您的测试数据 (test_X)。
推荐阅读
- sql - 如何在行而不是列中获取连接表的相邻列?
- python - 有没有办法将位图转换为指令,或者轻松阅读?
- java - 如何在进行谷歌登录时获取用户的年龄和位置
- android - 如何防止 Android 设备在我的应用中显示尺寸缩放?
- sass - Sass (SCSS) - 如何添加到类中的单个值
- java - 如何在 UTC 中生成 java.sql.Timestamp 以进行查询比较?
- reactjs - 不变违规:在触发函数时,对象作为 React 子项无效
- xpath - Wiremock:如果存在 xmlns,则 xpath 不起作用
- javascript - 使用javascript从a中选择一行
我试图通过单击表中的一行从数据库中删除一行。然后通过从行中获取 ID 使用 ajax 请求删除该行。
我的html是:
<div> <table class="table table-striped" id="tabble"> <th>Id</th> <th>Name</th>
- python - 根据列表替换字符串中的子字符串