在PyTorch的torchvision.transforms
库中,有许多常用的图像变换函数可用于数据增强和预处理。下面列举了一些常用的函数及其用法:
-
Resize(size)
: 调整图像大小为给定的尺寸。transform = transforms.Resize((256, 256))
-
RandomCrop(size, padding=None)
: 随机裁剪图像到给定尺寸。transform = transforms.RandomCrop(224)
-
CenterCrop(size)
: 从图像中心进行裁剪到给定尺寸。transform = transforms.CenterCrop(224)
-
RandomHorizontalFlip(p=0.5)
: 随机水平翻转图像,翻转概率为 p。transform = transforms.RandomHorizontalFlip()
-
ToTensor()
: 将图像转换为张量。transform = transforms.ToTensor()
-
Normalize(mean, std)
: 标准化图像张量。transform = transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))
-
RandomRotation(degrees, resample=False, expand=False, center=None)
: 随机旋转图像给定角度。transform = transforms.RandomRotation(30)
-
ColorJitter(brightness=0, contrast=0, saturation=0, hue=0)
: 随机调整亮度、对比度、饱和度和色调。transform = transforms.ColorJitter(0.2, 0.2, 0.2, 0.2)
-
RandomGrayscale(p=0.1)
: 随机将图像转换为灰度图像,转换概率为 p。transform = transforms.RandomGrayscale()
-
RandomResizedCrop(size, scale=(0.08, 1.0), ratio=(0.75, 1.3333333333333333), interpolation=<InterpolationMode.BILINEAR: 'bilinear'>)
: 随机裁剪并调整图像大小。transform = transforms.RandomResizedCrop(224)
-
Grayscale(num_output_channels=1)
: 将图像转换为灰度图像。transform = transforms.Grayscale()
这些函数只是torchvision.transforms
库中的一部分。您可以根据需要选择适当的图像变换函数,并按照上述示例将它们组合在一起使用,以实现数据增强和预处理。