擅长:python、mysql、java
<p>对于未来的读者,如果您不想破坏计算图(使用skimage),或者不想通过不将数据从GPU移动到GPU来使用更高效的实现,那么您可能需要一个本机PyTorch解决方案</p>
<p>这个问题非常接近逆<a href="https://pytorch.org/docs/stable/generated/torch.nn.PixelShuffle.html" rel="nofollow noreferrer">PixelShuffle</a>,并且有一个当前活动的<a href="https://github.com/pytorch/pytorch/issues/2456" rel="nofollow noreferrer">feature request</a>。不同之处在于,海报希望保持图像分辨率,而此解决方案不希望</p>
<p>我在这里复制请求者的初始代码(非常有效):</p>
<pre><code>out_channel = c*(r**2)
out_h = h//r
out_w = w//r
fm_view = fm.contiguous().view(b, c, out_h, r, out_w, r)
fm_prime = fm_view.permute(0,1,3,5,2,4).contiguous().view(b,out_channel, out_h, out_w)
</code></pre>