PixelShuffle 和 UnpixelShuffle 减少尺寸的同时也会改变通道数
1 32 128 128 -- UnpixelShuffle(2)-> 1 128 64 64
【torch.nn.PixelShuffle】和 【torch.nn.UnpixelShuffle】-优快云博客
效果还行 可惜硬件不支持
if use_PixelShuffle:
print('use_PixelShuffle')
############################## PixelShuffle ####################################
self.down2 = nn.Sequential(
nn.PixelUnshuffle(2) , #1 32 128 128 -> 1 128 64 64
nn.Conv2d(feat_top*4, feat_mid, 1, stride=1, padding=0, bias=bias)
)
self.down4 = nn.Sequential(
nn.PixelUnshuffle(2) ,
nn.Conv2d(feat_mid*4, feat_bot, 1, stride=1, padding=0, bias=bias)
)
self.up2 = nn.Sequential(nn.Conv2d(feat_bot, feat_mid*4, 1, stride=1, padding=0, bias=bias),
nn.PixelShuffle(2))
self.up4 = nn.Sequential(nn.Conv2d(feat_mid, feat_top*4, 1, stride=1, padding=0, bias=bias),
nn.PixelShuffle(2))
#################################################################################