根据放大因子重新排列张量中的元素。
重新排列形状为 (∗,C×r2,H,W) 的张量中的元素,使其形状变为 (∗,C,H×r,W×r),其中 r 是放大因子。
这对于使用步长为 1/r 的高效亚像素卷积进行实现很有用。
有关详细信息,请参阅论文:使用高效亚像素卷积神经网络进行实时单图像和视频超分辨率(Shi 等人,2016 年)。
- 参数
upscale_factor (int) – 用于增加空间分辨率的因子
- 形状
输入:(∗,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])