PyTorch学习之上采样层(VISION LAYERS)和PixelShuffle

版权声明:本文为博主原创文章,欢迎转载,转载请注明出处。 https://blog.csdn.net/shanglianlm/article/details/85311940

1 PixelShuffle

pixelshuffle算法的实现流程如下图,其实现的功能是:将一个H × W的低分辨率输入图像(Low Resolution),通过Sub-pixel操作将其变为rH x rW的高分辨率图像(High Resolution)。
在这里插入图片描述
通过卷积先得到 r 2 r^2 个通道的特征图(特征图大小和输入低分辨率图像一致),然后通过周期筛选(periodic shuffing)的方法得到这个高分辨率的图像,其中 r r 为上采样因子(upscaling factor),也就是图像的扩大倍率。

torch.nn.PixelShuffle(upscale_factor)

参数:

  • upscale_factor (int) – 增加空间分辨率的因子

输入输出尺寸:
输入: (N,C x u p s c a l e _ f a c t o r 2 upscale\_factor^2 ,H,W)
输出: (N,C,H x u p s c a l e _ f a c t o r upscale\_factor ,W x u p s c a l e _ f a c t o r upscale\_factor )

2 Upsample

torch.nn.Upsample(size=None, scale_factor=None, mode=‘nearest’, align_corners=None)

参数:

  • size(tuple) – 一个包含两个整数的元组 (H_out, W_out)指定了输出的长宽
  • scale_factor(int) –长和宽的一个乘子
  • mode (string) – 上采样算法,nearest neighbor (3D) 、linear (3D) 、bilinear(4D) 、 trilinear (5D) 默认:nearest
  • align_corners(bool) – 是否保存边缘像素,默认:False

3 UpsamplingNearest2d

torch.nn.UpsamplingNearest2d(size=None, scale_factor=None)
对输入信号做2D最近邻上采样。

参数:

  • size – 一个包含两个整数的元组 (H_out, W_out)指定了输出的长宽
  • scale_factor – 长和宽的一个乘子

4 UpsamplingBilinear2d

torch.nn.UpsamplingBilinear2d(size=None, scale_factor=None)
对输入信号做2D双线性上采样。

参数:

  • size – 一个包含两个整数的元组 (H_out, W_out)指定了输出的长宽
  • scale_factor – 长和宽的一个乘子

猜你喜欢

转载自blog.csdn.net/shanglianlm/article/details/85311940
今日推荐