torchvision.transforms函数
时间: 2024-04-08 21:09:25 浏览: 101
torchvision.transforms是一个图像预处理库,可以用于对图像进行各种变换,例如裁剪、缩放、旋转、翻转等。常用的函数有:
1. transforms.Resize(size):调整图像大小为指定的size
2. transforms.CenterCrop(size):按照中心裁剪图像为指定的size
3. transforms.RandomCrop(size, padding=None, pad_if_needed=False, fill=0, padding_mode='constant'):随机裁剪图像为指定的size,可选参数包括padding、fill、padding_mode
4. transforms.RandomHorizontalFlip(p=0.5):按照概率p随机水平翻转图像
5. transforms.RandomVerticalFlip(p=0.5):按照概率p随机垂直翻转图像
6. transforms.RandomRotation(degrees, resample=False, expand=False, center=None):随机旋转图像degrees度,可选参数包括resample、expand、center
7. transforms.ColorJitter(brightness=0, contrast=0, saturation=0, hue=0):随机调整图像颜色,可选参数包括brightness、contrast、saturation、hue
8. transforms.ToTensor():将图像转换为张量
9. transforms.Normalize(mean, std):对张量进行标准化,mean和std分别为均值和标准差
可以通过组合transforms函数来构建一个预处理管道。例如:
```python
transforms.Compose([
transforms.Resize(256),
transforms.RandomCrop(224),
transforms.RandomHorizontalFlip(),
transforms.ToTensor(),
transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])
])
```
该预处理管道首先将图像大小调整为256,然后随机裁剪为224,随机水平翻转,将图像转换为张量,最后对张量进行标准化。
阅读全文