小编Ble*_*ent的帖子

Pytorch 展开和折叠:如何将这个图像张量重新组合在一起?

我正在尝试使用展开来过滤大小为 256x256 的单通道 2D 图像,以创建重叠为 8 的 16x16 块。如下所示:

# I = [256, 256] image
kernel_size = 16
stride = bx/2
patches = I.unfold(1, kernel_size, 
int(stride)).unfold(0, kernel_size, int(stride)) # size = [31, 31, 16, 16]

 
Run Code Online (Sandbox Code Playgroud)

我已经开始尝试将图像与 fold 重新组合在一起,但我还没有完全到位。我试图使用视图来让图像“适合”它应该的方式,但我不知道这将如何保留原始图像。也许我想多了。

# patches.shape = [31, 31, 16, 16]
patches = = filt_data_block.contiguous().view(-1, kernel_size*kernel_size) # [961, 256]
patches = patches.permute(1, 0) # size = [951, 256]
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激。非常感谢。

artificial-intelligence machine-learning vision pytorch

6
推荐指数
2
解决办法
1460
查看次数