pytorch中pixelshuffle的具体操作方式

官方文档中对于pixelshuffle的解释:https://pytorch.org/docs/0.3.1/_modules/torch/nn/modules/pixelshuffle.html

简单点说就是一个调整数据顺序的过程,即输入的张量大小为:pytorch中pixelshuffle的具体操作方式, 调整为:pytorch中pixelshuffle的具体操作方式 的过程,可是官方文档只说了这些,并没有解释怎样对应起来的。对应公式如下,

pytorch中pixelshuffle的具体操作方式

a为输入的tensor,pytorch中pixelshuffle的具体操作方式 分别是batch, chanel ,width ,height维度的脚标, b为输出的tensor, pytorch中pixelshuffle的具体操作方式 也分别是对应的脚标,其中:

pytorch中pixelshuffle的具体操作方式

pytorch中pixelshuffle的具体操作方式

pytorch中pixelshuffle的具体操作方式

其中%为除法取余数的操作,若中间计算结果有小数则取整。

举例说明:

pytorch中pixelshuffle的具体操作方式

a[0, 3, 1, 0] = 1.3436853, 此时 pytorch中pixelshuffle的具体操作方式

根据上述公式计算,

pytorch中pixelshuffle的具体操作方式

pytorch中pixelshuffle的具体操作方式

pytorch中pixelshuffle的具体操作方式

所以得到:

b[0,0,3,1] = 1.3436853

其余数位同理。