python - 如何处理包含在具有不同大小的元素列表中的数据来训练 LSTM?
问题描述
:)
首先,我想为我的英语可能不是很好,因为它不是我的母语而道歉。之后,我暴露了我的问题:
我是 Python/Keras 的新手,目前,我正在使用 LSTM 解决序列到序列的问题。在这里:我得到了一个机器人手臂运动学的数据集。所有运动学具有相同的列数,但行数不同(行代表时间步长)。我有 24 个运动学作为训练数据,我想将它提供给 LSTM。所以,我创建了一个包含 24 个元素的列表。问题是当我想创建一个 LSTM 时,我必须指定“input_shape”参数(根据运行部分代码后发生的错误)。但问题是我不知道我必须放在“input_shape”上的值,因为我的训练数据是具有不同时间量的运动学列表。我所知道的是我有一个包含 24 个元素的列表,每个元素有 76 列。这是我运行的代码部分:
model = Sequential()
model.add(LSTM(100))
model.add(Dense(1, activation='sigmoid'))
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=
['accuracy'])
print(model.summary())
这是发生的错误:`
Traceback (most recent call last):
File "<input>", line 4, in <module>
File "C:\Users\Pctec\Desktop\venv\lib\site-packages\keras\models.py", line
454, in add
raise ValueError('The first layer in a '
ValueError: The first layer in a Sequential model must get an 'input_shape'
or 'batch_input_shape' argument.`
之后,我搜索了问题的解决方案并发现了这个: https ://machinelearningmastery.com/prepare-univariate-time-series-data-long-short-term-memory-networks/
它给了我一些关于我应该做什么的想法,但是,作者提出了一个已知时间步数的示例,这与我正在研究的情况不同。
我不知道我是否就我的问题提供了足够的详细信息,因为就像我说的那样,我仍然是初学者,但也许有人可以帮助我解决这个问题。
那么,我应该根据什么为 LSTM 指定 input_shape 的值?
谢谢 :)
解决方案
推荐阅读
- regex - NGinx - 重写 URI 匹配字符串而不是第二个的正确方法
- python - 如何创建一个空数组并附加它?
- c - 来自不兼容指针类型错误的 C 赋值
- c# - 当键盘没有聚焦时,如何在 iOS 搜索栏上点击“取消”?[Xamarin 形式]
- c# - .Net Core 3.1 合并 JWT 和 OpenIDConnect 身份验证
- java - 如何从 for 循环中过滤数组?
- java - SQLiteException:没有这样的表:en_table(代码 1 SQLITE_ERROR)
- javascript - Promise 函数在 Chrome 和 Firefox 中有效,但在 IE Edge 和 IE11 中无效
- azure-data-factory - 在 Azure 数据工厂的数据流中的数据映射活动中传递数据集参数
- java - 如何将通过 Scanner 写入的字符串/字符变量连接到其他类的变量中?