pytorch中pixelshuffle的具体操作方式
官方文档中对于pixelshuffle的解释:https://pytorch.org/docs/0.3.1/_modules/torch/nn/modules/pixelshuffle.html
简单点说就是一个调整数据顺序的过程,即输入的张量大小为:, 调整为: 的过程,可是官方文档只说了这些,并没有解释怎样对应起来的。对应公式如下,
,
a为输入的tensor, 分别是batch, chanel ,width ,height维度的脚标, b为输出的tensor, 也分别是对应的脚标,其中:
其中%为除法取余数的操作,若中间计算结果有小数则取整。
举例说明:
a[0, 3, 1, 0] = 1.3436853, 此时 ,
根据上述公式计算,
所以得到:
b[0,0,3,1] = 1.3436853
其余数位同理。