本文主要是介绍PyTorch Demo-4 : 数据变换Transforms,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Transforms的函数有很多,每次都是直接copy已有的代码,但是不知道具体是什么样子,在这里记录一下
Transforms常用方法的具体说明参考链接1,链接2,或者官方文档。
原始图像采用图像处理经典的Lena:
Python代码
from PIL import Image
from torchvision import transforms as tf
import matplotlib.pyplot as pltimg = Image.open('lena.jpg')img = tf.Resize((256, 256))(img)
size = (224, 224)trans = {'RandomCrop': tf.RandomCrop(size),'CenterCrop': tf.CenterCrop(size),'RandomResizedCrop': tf.RandomResizedCrop(size=size, scale=(0.08, 1.0), ratio=(0.75, 1.333), interpolation=2),'RandomRotation': tf.RandomRotation(30),'RandomVerFilp': tf.RandomVerticalFlip(p=1),'RandomHorFilp': tf.RandomHorizontalFlip(p=1),'Normalize': tf.Compose([tf.ToTensor(),tf.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]),tf.ToPILImage()]),'RandomErasing': tf.Compose([tf.ToTensor(),tf.RandomErasing(p=1, scale=(0.02, 0.33), ratio=(0.3, 3.3), value=0),tf.ToPILImage()]),'Pad_5,10,15,20': tf.Pad((5, 10, 15, 20)),'ColorJitter_brightness': tf.ColorJitter(brightness=0.5, contrast=0, saturation=0, hue=0),'ColorJitter_contrast': tf.ColorJitter(brightness=0, contrast=0.5, saturation=0, hue=0),'ColorJitter_saturation': tf.ColorJitter(brightness=0, contrast=0, saturation=0.5, hue=0),'ColorJitter_hue': tf.ColorJitter(brightness=0, contrast=0, saturation=0, hue=0.5),'Grayscale': tf.Grayscale(num_output_channels=1),'RandomGrayscale': tf.RandomGrayscale(p=1),'Affine_degrees': tf.RandomAffine(degrees=30, translate=None, fillcolor=0, scale=None, shear=None),'Affine_translate': tf.RandomAffine(degrees=0, translate=(0.2, 0.2), fillcolor=0, scale=None, shear=None),'Affine_scale': tf.RandomAffine(degrees=0, translate=None, fillcolor=0, scale=(0.7, 0.7), shear=None),'Affine_shear': tf.RandomAffine(degrees=0, translate=None, fillcolor=0, scale=None, shear=(0, 0, 0, 45)),
}for k, t in trans.items():print(k)img_ = t(img)plt.title(k)plt.axis('off')plt.imshow(img_)plt.savefig('./tf/%s.jpg' % k, bbox_inches='tight')
实现效果
Crop
Flip and Rotation
Transform
这篇关于PyTorch Demo-4 : 数据变换Transforms的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!