mindscience.common.pixel_shuffle

mindscience.common.pixel_shuffle(x, upscale_factor)[源代码]

对由多个输入平面组成的信号应用 pixel_shuffle 操作。该操作常用于实现步幅为 \(1/r\) 的高效子像素卷积。 更多细节请参考 Real-Time Single Image and Video Super-Resolution Using an Efficient Sub-Pixel Convolutional Neural Network

通常输入 x 的形状为 \((*, C \times r^2, H, W)\),输出形状为 \((*, C, H \times r, W \times r)\),其中 r 是上采样倍数,* 表示零个或多个 batch 维度。

参数:
  • x (Tensor) - 形状为 \((*, C \times r^2, H, W)\) 的张量。x 的维度数需大于 2,且倒数第三个维度的长度必须能够被 upscale_factor 的平方整除。

  • upscale_factor (int) - 用于提升空间分辨率的因子,必须为正整数。

返回:

Tensor,形状为 \((*, C, H \times r, W \times r)\) 的张量。

异常:
  • ValueError - 当 upscale_factor 不是正整数时抛出。

  • ValueError - 当倒数第三个维度的长度不能被 upscale_factor 的平方整除时抛出。

  • TypeError - 当 x 的维度少于 3 时。