Deep learning Pytork中是否存在多对多卷积?这是一件事吗?

Deep learning Pytork中是否存在多对多卷积?这是一件事吗?,deep-learning,neural-network,pytorch,conv-neural-network,Deep Learning,Neural Network,Pytorch,Conv Neural Network,我最近一直在考虑卷积。有常见的3by3 conv,其中(3,3)内核信息被加权和聚合,以向输出上的单个空间点提供信息。还有3×3 upconv,其中输入上的单个空间点向3×3输出空间提供加权信息 conv是多对一关系,upconv是一对多关系 然而,我从来没有听说过多对多conv?有这样的事吗?例如,一个3by3内核向另一个3by3内核提供信息。我想在PyTorch中进行试验。我的网络搜索没有透露任何信息。你可以组合并平均得到你想要的。 例如,如果您想要3x3->3x3映射,将in\u通道映射到

我最近一直在考虑卷积。有常见的3by3 conv,其中(3,3)内核信息被加权和聚合,以向输出上的单个空间点提供信息。还有3×3 upconv,其中输入上的单个空间点向3×3输出空间提供加权信息

conv是多对一关系,upconv是一对多关系

然而,我从来没有听说过多对多conv?有这样的事吗?例如,一个3by3内核向另一个3by3内核提供信息。我想在PyTorch中进行试验。我的网络搜索没有透露任何信息。

你可以组合并平均得到你想要的。
例如,如果您想要3x3->3x3映射,将
in\u通道
映射到
out\u通道

来自火炬导入nn的

导入torch.nn。功能为nnf
类ManyToManyConv2d(nn.模块):
def_uuuinit_uuu(输入通道、输出通道、输入内核、输出内核):
self.out\u内核=out\u内核
self.conv=nn.Conv2d(输入通道、输出通道*输出内核*输出内核、输入内核)
def前进(自身,x):
y=self.conv(x)#所有输出内核都“折叠”到通道dim中
y=nnf.pixel_shuffle(y,self.out_内核)#“展开”out_内核-图像大小*out_内核更大
y=nnf.avg\u pool2d(y,self.out\u内核)
返回y
您可以组合并平均得到您想要的。
例如,如果您想要3x3->3x3映射,将
in\u通道
映射到
out\u通道

来自火炬导入nn的

导入torch.nn。功能为nnf
类ManyToManyConv2d(nn.模块):
def_uuuinit_uuu(输入通道、输出通道、输入内核、输出内核):
self.out\u内核=out\u内核
self.conv=nn.Conv2d(输入通道、输出通道*输出内核*输出内核、输入内核)
def前进(自身,x):
y=self.conv(x)#所有输出内核都“折叠”到通道dim中
y=nnf.pixel_shuffle(y,self.out_内核)#“展开”out_内核-图像大小*out_内核更大
y=nnf.avg\u pool2d(y,self.out\u内核)
返回y