根据上采样因子重新排列张量中的元素。
将形状为 (∗,C×r2,H,W)
的张量重新排列为形状为 (∗,C,H×r,W×r) 的张量,其中 r 是放大因子。
这对于实现高效的子像素卷积非常有用,步幅为 1/r。
参见论文:
使用高效子像素卷积神经网络实现实时单图像和视频超分辨率
由Shi等人(2016年)撰写,了解更多详情。
- Parameters
upscale_factor (int) – 增加空间分辨率的因子
- Shape:
输入: (∗,Cin,Hin,Win), 其中 * 表示零个或多个批次维度
输出: (∗,Cout,Hout,Wout), 其中
Cout=Cin÷upscale_factor2
Hout=Hin×upscale_factor
Wout=Win×upscale_factor 示例:
>>> pixel_shuffle = nn.PixelShuffle(3)
>>> input = torch.randn(1, 9, 4, 4)
>>> output = pixel_shuffle(input)
>>> print(output.size())
torch.Size([1, 1, 12, 12])