网络融合示例

https://github.com/DandelionLau/Neural-Network-Architecture/blob/master/RNN-FCN.py
r_layer1 = LSTM(32, return_sequences=True)(input)
r_layer2 = LSTM(64,return_sequences=True)(r_layer1)
r_layer2 = Flatten()(r_layer2)
# CNN
c_layer1 = Conv1D(64, 3, activation='relu')(input)
c_layer1 = keras.layers.BatchNormalization()(c_layer1)
c_layer2 = Conv1D(128, 3, activation='relu')(c_layer1)
c_layer2 = keras.layers.BatchNormalization()(c_layer2)
c_layer3 = Conv1D(64, 3, activation='relu')(c_layer2)
c_layer3 = keras.layers.BatchNormalization()(c_layer3)
c_pool = GlobalAveragePooling1D()(c_layer3)
#通过merge将RNN和CNN的输出融合起来
merge = keras.layers.concatenate([r_layer2, c_pool])
output = Dense(2, activation='softmax')(merge)
model = Model(inputs=[input], outputs=output)
model.compile(loss='binary_crossentropy',
optimizer='rmsprop',
metrics=['accuracy'])
idea:将特定的脑区(如病灶区)提取出来作为输入
优点:有针对性
基于keras的LSTM时间序列预测需要先做归一化处理

浙公网安备 33010602011771号