小编Shi*_*hir的帖子

使用 torch.stack()

t1 = torch.tensor([1,2,3])
t2 = torch.tensor([4,5,6])
t3 = torch.tensor([7,8,9])

torch.stack((t1,t2,t3),dim=1)
Run Code Online (Sandbox Code Playgroud)

在实现 torch.stack() 时,我无法理解如何对不同的暗淡进行堆叠。这里对列进行了堆叠,但我无法理解它是如何完成的细节。处理 2-d 或 3-D 张量变得更加复杂。

tensor([[1, 4, 7],
        [2, 5, 8],
        [3, 6, 9]])
Run Code Online (Sandbox Code Playgroud)

python pytorch tensor

8
推荐指数
1
解决办法
5727
查看次数

在图像批次中随机打乱补丁

我正在尝试创建一个transform可以批量打乱每个图像的补丁的程序。我的目标是以与以下中的其余转换相同的方式使用它torchvision

trans = transforms.Compose([
            transforms.CenterCrop(224),
            transforms.ToTensor(),
            transforms.Normalize(mean=[0.5, 0.5, 0.5], std=[0.5, 0.5, 0.5]),
            ShufflePatches(patch_size=(16,16)) # our new transform
        ])
Run Code Online (Sandbox Code Playgroud)

更具体地说,输入是BxCxHxW张量。我想将批次中的每个图像分割成大小为 patch_size 的不重叠的补丁,将它们打乱,然后重新组合成单​​个图像。

给定图像(尺寸为224x224):

在此输入图像描述

使用ShufflePatches(patch_size=(112,112))我想生成输出图像:

在此输入图像描述

torch.unfold我认为解决方案与和相关torch.fold,但没有取得任何进展。

任何帮助,将不胜感激!

python computer-vision deep-learning pytorch torchvision

6
推荐指数
1
解决办法
1231
查看次数