我是 Keras 新手,我发现很难理解 LSTM 层输入数据的形状。
Keras 文档表示输入数据应该是形状为 (nb_samples, timesteps, input_dim) 的 3D 张量。
我有808信号。
每个信号有22个通道和2000个数据点。
Data_shape : (808,22,2000)
我还为每个信号设置了 808 个标签。
Label_shape : (808,2)
Label[1,:] = [1,0]
我想将 2000 个数据点切片为 20 个时间步长进行分析,每个时间步长(lstm 单元)接收 100 个数据点。
在我看来,有 20 个 LSTM 单元,每个 LSTM 单元接收 (22,100) 个数据,即 100 个数据点,22 个通道(特征)。
这是我的问题
-
在我的数据案例中,Keras LSTM 的正确输入形状是什么?
我应该如何更改 LSTM 模型的值?
我现在已经尝试过这种方式了。我不确定输入形状。
print(X_train.shape)
print(y_train.shape)
(727, 22, 2000)
(727, 2)
model = Sequential()
model.add(LSTM(20, input_shape=(22,2000), dropout=0.2, recurrent_dropout=0.2, return_sequences=True))
model.add(Dense(20))
model.add(LSTM(20, dropout=0.2, recurrent_dropout=0.2))
model.add(Dense(2, activation='softmax'))
model.compile(loss='binary_crossentropy', optimizer='Adadelta', metrics=['accuracy'])
我应该如何处理我的数据形状?
我应该将数据重塑为另一种形状吗?
None
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)