我对神经网络和keras有点新 . 我有一些大小为6 * 7的图像,过滤器的大小为15.我想有几个过滤器并分别训练卷积层,然后将它们组合起来 . 我在这里看了一个例子:
model = Sequential()
model.add(Convolution2D(nb_filters, kernel_size[0], kernel_size[1],
border_mode='valid',
input_shape=input_shape))
model.add(Activation('relu'))
model.add(Convolution2D(nb_filters, kernel_size[0], kernel_size[1]))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=pool_size))
model.add(Dropout(0.25))
model.add(Flatten(input_shape=input_shape))
model.add(Dense(128))
model.add(Activation('relu'))
model.add(Dense(128))
model.add(Activation('relu'))
model.add(Dropout(0.5))
model.add(Dense(nb_classes))
model.add(Activation('tanh'))
此模型适用于一个过滤器 . 任何人都可以给我一些关于如何修改模型以使用并行卷积层的提示 .
谢谢
2 回答
我的方法是创建定义所有并行卷积和拉动操作的其他模型,并将所有并行结果张量连接到单输出张量 . 现在,您可以像顺序层一样在顺序模型中添加此并行模型图 . 这是我的解决方案,希望它能解决您的问题 .
有关更多信息,请参阅类似的问题:Combining the outputs of multiple models into one model
下面是在keras版本2中设计并行卷积和子采样层网络的示例 . 我希望这可以解决您的问题 .
此网络的图像看起来像