【问题标题】:How to train a LSTM with a multivarible input of different lengths?如何训练具有不同长度的多变量输入的 LSTM?
【发布时间】:2020-09-16 11:06:12
【问题描述】:

我正在尝试根据检测跌倒的传感器数据来训练 Keras LSTM 模型。

在一个数据框中有多个试验,包含不同长度的时间序列和感官数据(X 轴、Y 轴和 Z 轴),所以每个试验都有这样的输出:

[[1,4,7],[1,5,3],[5,2,7],[7,2,5],[9,5,2].......]

但我找不到处理输入长度变化的方法。输出必须是一维的。只是它是不是一个秋天。如何做到这一点?

【问题讨论】:

标签: python tensorflow deep-learning lstm recurrent-neural-network


【解决方案1】:

Keras LSTM 采用doc 所述的输入 [batch, timesteps, feature]。据我了解,您有 3 个特征(列)和行作为数据流(时间序列、顺序)。因此,输入尺寸取决于您的配置。 例如:

features = 3
timesteps = 20
batch = 1

这个配置意味着 LSTM 输入需要 20 个时间步长的 3 个特征。它把每 20 行的 3 个特征加在一起。因此,如果您有一个 2D 的数据框,则必须将其重塑为 3D。

假设您有一个具有 100 个时间步长和 3 个特征 (100,3) 的 pandas 数据框: 您可以将其重塑为 3D,如下所示:

data = np.array(data).reshape(-1,20,3)

所以,新的数据形状是 (5,20,3)

【讨论】:

    猜你喜欢
    • 2018-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-03
    • 2019-05-18
    • 1970-01-01
    • 2021-08-13
    相关资源
    最近更新 更多