如何在keras中合并单独的CNN / Conv

时间:2018-03-29 18:08:15

标签: deep-learning keras conv-neural-network

我对深度学习/ cnn和keras有点新鲜。 我正在研究可行性: 例如,我有两个数据集:data_set_1 = img_cat_dog数据集和data_set_2 = flower_rose_daisy数据集 我有2个CNN: conv_1 = .. data_set_1 和火车

conv_2 = .. data_set_2 和火车

然后我有一个测试数据=一个包含猫和玫瑰的图片或视频场景。 那么可以合并这两个CNN(conv_1和conv_2)然后合并一个LSTM,所以用一个测试数据(一张图片)来描述图片/场景中的猫和玫瑰吗?

(conv_1经过培训,conv_2经过并行培训,经过单独培训,我想合并这些转化并将它们连接到一个LSTM)

1 个答案:

答案 0 :(得分:0)

伪码:

def create_convnet(img_path =' img_cat_dog.png'):     input_shape =输入(shape =(rows,cols,1))

tower_1 = Conv2D(20, (100, 5), padding='same', activation='relu')(input_shape)
tower_1 = MaxPooling2D((1, 11), strides=(1, 1), padding='same')(tower_1)

def create_convnet2(img_path =' flower_rose_daisy.png'):     input_shape_2 =输入(shape =(rows,cols,1))

tower_2 = Conv2D(20, (100, 7), padding='same', activation='relu')(input_shape_2)
tower_2 = MaxPooling2D((1, 9), strides=(1, 1), padding='same')(tower_2)

在这里训练......

merged = keras.layers.concatenate([tower_1, tower_2, tower_3], axis=1)
merged = Flatten()(merged)

或在这里训练......

(我会在Keras写下确切的代码,所以我会尝试。 我也会更清楚地提出问题。 )

在尝试合并两个CNN之后或合并两个CNN之前,我试着询问何时进行训练? 是否可以使用两个不同的训练数据集并合并网络?