如何恢复在DataLoader中应用的转换?

时间:2019-05-06 15:22:45

标签: python-3.x pytorch torchvision

我们定义了一些DataSet和一些随机的transform,它们会在每次加载某些特定图像时重新应用。是否也可以使用图像提取应用于图像的变换? (我也想将应用于图像的转换也应用于其他图像。)

import torchvision
import torchvision.transforms as transforms
import torch.utils.data

path = "/path/to/image/folders/" #should contain at least one folder with some images
transform = transforms.Compose([
    transforms.RandomHorizontalFlip(p=0.5),
    transforms.RandomRotation(degrees=[0, 360]),
    transforms.ToTensor()
])
dataset = torchvision.datasets.ImageFolder(root=path, transform=transform)

dataloader = torch.utils.data.DataLoader(dataset=dataset, shuffle=True)

for input, target in dataloader:
    pass #get transform that was applied to input?

1 个答案:

答案 0 :(得分:0)

我认为没有API可以获取已应用的转换。

您能重新实现随机变换的__call__方法,以便它们也记录所应用的内容吗? (只有几行:https://pytorch.org/docs/stable/_modules/torchvision/transforms/transforms.html#RandomHorizontalFlip