在keras喂养LSTM

时间:2017-05-19 18:41:21

标签: keras keras-layer

我对keras很新。我想知道是否有人可以帮助我如何使用我的EEG数据来提供LSTM。我从306通道进行了1400次试验,长度为600分。

1-我想创建一个LSTM网络,在每个时间步t,第一层接收所有通道的输入(所有EEG通道最初被送入同一个LSTM层)

2-并且另一个网络由几个306 LSTM组成,每个LSTM在第一层仅连接到一个输入通道,然后第二个编码层 通过接收连接作为输入来执行信道间分析 所有通道LSTM的输出向量。

由于

1 个答案:

答案 0 :(得分:2)

如果我理解正确,代码应该是这样的:

def lstm_model():
   hidden_units = 512  # may increase/decrease depending on capacity needed
   timesteps = 600
   input_dim = 306
   num_classes = 10    # num of classes for ecg output
   model = Sequential()
   model.add(LSTM(hidden_units, input_shape=(timesteps, input_dim)))
   model.add(Dense(num_classes))
   adam = Adam(lr=0.001)
   model.compile(loss='categorical_crossentropy', optimizer=adam, metrics=['accuracy'])
   return model

def train():
   xt = np.array([])  # input_data shape = (num_trials, timesteps, input_dim)
   yt = np.array([])  # out_data shape = (num_trials, num_classes)
   batch_size = 16
   epochs = 10
   model = lstm_model()
   model.fit(xt, yt, epochs=epochs, batch_size=batch_size, shuffle=True)