Input: train_x, train_y | | Hyper-parameters: filters, kernel_size, pool_size, batch_size, rate | | Initialize () | | Normalization (train_x, train_y) | | //The first convolution layer | | 1st ConV_model = Sequential ([Convolution2D (filters, kernel_size, name = “Conv2D_1”), MaxPooling2D (pool_size), Flatten (), Dense (units, activation), Dropout (rate), Dense (units, activation)]) | | 1st ConV_model.compile (loss_function, optimizer) | | 1st ConV_model.fit (train_x, train_y, epochs, batch_size) | | //Extract the feature map | | 1st ConV_feature_model = Model (inputs, 1st ConV_model.get_layer (“Conv2D_1”).output) | | 1st ConV_feature_output = 1st ConV_feature_model.predict (train_x) | | //LSTM layer | | reshape (1st ConV_feature_output) | | LSTM_model = Sequential (LSTM (units, activation, recurrent_activation), Dense (units, activation)) | | LSTM_model.compile (loss_function, optimizer) | | LSTM_model.fit (1st ConV_feature_output, train_y, epochs, batch_size) |
|