Keras:对 CNN 中的每个特征图应用多个过滤器

数据挖掘 深度学习 喀拉斯 张量流 美国有线电视新闻网 卷积神经网络
2022-02-14 01:49:09

我是 Keras 的新手,我想做以下事情:拍摄 2D 图像,并对其应用四个 2D 卷积核,得到四个 2D 特征图。我可以做到这一点。但是我想对这 4 个地图中的每一个应用两个不同的 2D 卷积,得到 8 个特征图。那可能吗?

这是我到目前为止所拥有的:

import keras
from keras.layers import Conv2D

input_img = keras.Input(shape=(N_rows, N_cols, 1))
x = Conv2D(4, (3,3))(input_img)

但是我不知道如何将 2 个内核应用于 4 个通道中的每一个,这样我就有了 8 个 2D 映射。

1个回答

你可以试试 KerasDepthwiseConv2D layer

深度可分离卷积仅包括执行深度空间卷积的第一步(分别作用于每个输入通道)。depth_multiplier 参数控制在深度步骤中每个输入通道生成多少个输出通道。

它将分别对每个通道进行卷积。如本图所示。 在此处输入图像描述 图片来源 - Chi-Feng Wang 的博客

使用depth_multiplier参数,您可以添加更多 Filetr,即描述中显示的“三元组”的更多副本。

depth_multiplier:
每个输入通道的深度卷积输出通道数。深度卷积输出通道的总数将等于 filters_in * depth_multiplier。