PixelShuffle

    该算子将一个形为[N, C, H, W]或是[N, H, W, C]的Tensor重新排列成形为 [N, C/r**2, H*r, W*r]或 [N, H*r, W*r, C/r**2] 的Tensor。这样做有利于实现步长(stride)为1/r的高效sub-pixel(亚像素)卷积。详见Shi等人在2016年发表的论文 。

    • x (Tensor): 默认形状为(批大小,通道数,高度,宽度),即NCHW格式的4-D Tensor或NHWC格式的4-DTensor。 其数据类型为float32, float64.

    计算PixelShuffle的可调用对象

    1. import paddle
    2. import paddle.nn as nn
    3. x = paddle.rand((2, 9, 4, 4))
    4. pixel_shuffle = nn.PixelShuffle(3)
    5. print(out.shape)
    6. # (2, 1, 12, 12)