【发布时间】:2020-11-04 21:56:51
【问题描述】:
我正在使用 PyTorch 进行语义分割,但我遇到了一个问题,因为我使用的是图像,以及它们的标签。我想执行数据增强,例如 RandomHorizontalFlip 和 RandomCrop 等。
这是我的代码,请检查并告诉我,如何在提供的代码中嵌入以下操作。
import torchvision.transforms.functional as F
class ToTensor(object):
def __call__(self, sample):
image, label = sample['image'], sample['label']
return {'image': F.to_tensor(image), 'label': F.to_tensor(label)}
my_transform = transforms.Compose([ ToTensor() ])
dataset = Mydataset(image_dir, label_dir, transform = my_transform)
# Print dataset output
dataset[1]
输出
{'image': tensor([[[0.0824, 0.0824, 0.0824, ..., 0.0824, 0.0824, 0.0824],
[0.0824, 0.0824, 0.0824, ..., 0.0824, 0.0824, 0.0824],
[0.0824, 0.0824, 0.0824, ..., 0.0824, 0.0824, 0.0824],
...,
[0.0902, 0.0902, 0.0902, ..., 0.0824, 0.0824, 0.0824],
[0.0824, 0.0824, 0.0824, ..., 0.0824, 0.0824, 0.0824],
[0.0745, 0.0745, 0.0745, ..., 0.0824, 0.0824, 0.0824]],
[[0.0824, 0.0824, 0.0824, ..., 0.0824, 0.0824, 0.0824],
[0.0824, 0.0824, 0.0824, ..., 0.0824, 0.0824, 0.0824],
[0.0824, 0.0824, 0.0824, ..., 0.0824, 0.0824, 0.0824],
...,
[0.0902, 0.0902, 0.0902, ..., 0.0824, 0.0824, 0.0824],
[0.0824, 0.0824, 0.0824, ..., 0.0824, 0.0824, 0.0824],
[0.0745, 0.0745, 0.0745, ..., 0.0824, 0.0824, 0.0824]],
[[0.0824, 0.0824, 0.0824, ..., 0.0824, 0.0824, 0.0824],
[0.0824, 0.0824, 0.0824, ..., 0.0824, 0.0824, 0.0824],
[0.0824, 0.0824, 0.0824, ..., 0.0824, 0.0824, 0.0824],
...,
[0.0902, 0.0902, 0.0902, ..., 0.0824, 0.0824, 0.0824],
[0.0824, 0.0824, 0.0824, ..., 0.0824, 0.0824, 0.0824],
[0.0745, 0.0745, 0.0745, ..., 0.0824, 0.0824, 0.0824]]]),
'label': tensor([[[0.0824, 0.0824, 0.0824, ..., 0.0824, 0.0824, 0.0824],
[0.0824, 0.0824, 0.0824, ..., 0.0824, 0.0824, 0.0824],
[0.0824, 0.0824, 0.0824, ..., 0.0824, 0.0824, 0.0824],
...,
[0.0902, 0.0902, 0.0902, ..., 0.0824, 0.0824, 0.0824],
[0.0824, 0.0824, 0.0824, ..., 0.0824, 0.0824, 0.0824],
[0.0745, 0.0745, 0.0745, ..., 0.0824, 0.0824, 0.0824]]])}
【问题讨论】:
标签: python pytorch transformation torchvision