【发布时间】:2021-06-25 16:17:11
【问题描述】:
TensorFlow2.x 是否支持组卷积?
看到很多帖子/博客/教程说TensorFlow不支持,也看到一些帖子说tf.keras.layers.DepthwiseConv2D相当于组卷积。但是,我注意到tf.keras.layers.Conv2d中有一个组参数,这是很多论文(例如ResNeXt论文)中描述的组卷积吗?还是我理解错了?
任何帮助和解释都会很棒!
edit:group conv(第三个)和等效的 parrellel conv(前两个)的示例。 ResNeXt 论文中的示例
pytorch中深度为4的32组的group conv,表示总输出通道为128:
torch.nn.Conv2d(in_channels=128, out_channels=128, kernel_size=(3,3), groups=32)
更具体地说,输入通道为 i 的 n 个组和深度为 d 的组卷积会将 i 个输入通道分成大小相等的 n 个组,每个组将是具有相同内核大小的普通卷积,步幅为 i/ n 个通道作为输入,d 个通道作为输出。所有组的输出将连接到 n*d 个通道中,并作为输入传递给下一层。
【问题讨论】:
-
你能更详细地描述一下什么是组卷积吗?也许使用一个玩具输入示例及其预期输出。虽然我相信你的问题有答案,但由于它含糊不清,我没有信心回答。
-
@ibarrond 抱歉,我想不出一个具体的例子,但我刚刚更新了我的问题,显示了它的图像和 Pytorch 中的相应代码。它基本上是有几个并行的卷积层。
标签: tensorflow keras conv-neural-network tensorflow2