Как я могу восстановить преобразование, которое было применено в DataLoader? - PullRequest
2 голосов
/ 06 мая 2019

Мы определяем некоторые некоторые 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 голосов
/ 07 мая 2019

Я не думаю, что есть API для получения примененных преобразований.

Можете ли вы просто переопределить __call__ методы рандомизированных преобразований, чтобы они также регистрировали то, что было применено?(это всего лишь пара строк: https://pytorch.org/docs/stable/_modules/torchvision/transforms/transforms.html#RandomHorizontalFlip)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...