0

TensorFlow2.x 是否支持 Group Convolution?
看到很多帖子/博客/教程说TensorFlow不支持,也看到一些帖子说tf.keras.layers.DepthwiseConv2D相当于组卷积。但是,我注意到tf.keras.layers.Conv2d中有一个组参数,这是很多论文(例如ResNeXt论文)中描述的组卷积吗?还是我误解了?
任何帮助和解释都会很棒!

编辑:group conv(第三个)和等效的 parrellel conv(前两个)的示例。ResNeXt 论文中的示例 组转化

pytorch中深度为4的32组的组conv,这意味着总输出通道为128:
torch.nn.Conv2d(in_channels=128, out_channels=128, kernel_size=(3,3), groups=32)

更具体地说,输入通道为 i 的 n 组和深度 d 的组 conv 将 i 输入通道分成大小相等的 n 组,每组将是具有相同内核大小的普通卷积,步幅具有 i/n 通道为输入,d通道作为输出。所有组的输出将连接到 n*d 个通道中,并作为输入传递给下一层。

4

2 回答 2

1

是的,tensorflow 确实通过参数直接支持 Group Conv groups。来自Conv2D argumentsTF2 的官方文档:

groups:一个正整数,指定输入沿通道轴拆分的组数。每个组分别与过滤器/组过滤器进行卷积。输出是沿通道轴的所有组结果的串联。输入通道和过滤器都必须可以按组整除。

于 2021-03-29T18:57:48.893 回答
1
于 2021-10-21T20:07:55.140 回答