PyTorch学习-torchvision transform

PyTorch学习-torchvision transform

1、torchvision.transforms.Compose(transforms)
功能:将多个transform组合起来使用
transforms: 由transform构成的列表
使用例子:

transforms.Compose([
     transforms.CenterCrop(10),
     transforms.ToTensor(),
 ])

torchvision.transforms._()

2、CenterCrop(size)
功能:将给定的PIL.Image进行中心切割,得到给定的size。
size可以是tuple,(target_height, target_width)。
size也可以是一个Integer,在这种情况下,切出来的图片的形状是正方形。

3、RandomCrop(size, padding=0)
功能:切割中心点的位置随机选取。size可以是tuple也可以是Integer。

4、RandomHorizontalFlip
功能:随机水平翻转给定的PIL.Image,概率为0.5。即:一半的概率翻转,一半的概率不翻转。

5、RandomSizedCrop(size, interpolation=2)
功能:先将给定的PIL.Image随机切,然后再resize成给定的size大小。

6、Pad(padding, fill=0)
功能:将给定的PIL.Image的所有边用给定的pad value填充。

对Tensor进行变换

7、Normalize(mean, std)
功能:给定均值:(R,G,B) 方差:(R,G,B),将会把Tensor正则化。即:Normalized_image=(image-mean)/std。

8、ToTensor
功能:把一个取值范围是[0,255]的PIL.Image或者shape为(H,W,C)的numpy.ndarray,转换成形状为[C,H,W],取值范围是[0,1.0]的torch.FloadTensor

9、ToPILImage
功能:将shape为(C,H,W)的Tensor或shape为(H,W,C)的numpy.ndarray转换成PIL.Image,值不变。

10、Lambda(lambd)
功能:使用lambd作为转换器。

11、Scale(size, interpolation=2)
功能:将输入的Image重新改变大小成给定的sizesize是最小边的边长。举个例子,如果原图的height>width,那么改变大小后的图片大小是(size*height/width, size)

你可能感兴趣的:(Pytorch)