PixelShuffle
-
class torch.nn.PixelShuffle(upscale_factor)[source][source]
根据上采样因子对张量中的元素进行重新排列。
将形状为 (∗,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])