pytorch API | torchvision.transforms(带参数)

torchvision.transforms

  • torchvision.transformer.Compose : 定义一个transforms容器,存放transforms列表。
transforms.Compose([
     transforms.CenterCrop(10),
     transforms.PILToTensor()
 ])

on PIL Image and torch.*Tensor

  • torchvision.transforms.CenterCrop(size):中心裁剪。size可为(H,W)或者int类型,如果size某边大于原图,则对原图用0填充,然后CenterCrop(size)。图片shape必须为(…,H,W)
  • torchvision.transforms.ColorJitter(brightness=0, contrast=0, saturation=0, hue=0):随机更改图片的亮度、对比度、饱和度、色调。参数可以为int/(min,max),则在[-int,int]/(min,max)中随机变化
  • torchvision.transforms.FiveCrop(size):在4个角和中心剪裁。得5个size的图像,tuple 类型。
(left_top,right_top,left_bottom,right_bottom,center) = transforms.FiveCrop((100,100))
  • torchvision.transforms.TenCrop(size):在4个角和中心剪裁,及其翻转图像,共10个,tuple 。
  • torchvision.transforms.Grayscale(num_output_channels=1):转换为灰度图,num_output_channels=1|3,当num_output_channels=3时,rgb。
  • torchvision.transforms.Pad(padding,fill=0,padding_mode=‘constant’):填充。len(padding)==1表示上下左右填充(要求padding=[p,]); len(padding)==2表示左右、上下填充; len(padding)==4表示左上右下方向填充。fill默认为0,以指定数值填充,如果len(fill)==3,那么是在rgb通道分别填充。
  • torchvision.transforms.RandomAffine(degrees,translate=None,scale=None,shear=None,interpolation=, fill=0, center=None):随机仿射变换。degrees为旋转角度,为int/(min,max),则在[-int,int]/(min,max)中随机变化;translate为水平/垂直位移最大距离;scale为随机(a,b)缩放;fill为仿射变换后的空白值填充,默认为0;center为中心变换,默认为图像中心,可以传(x,y)。
  • torchvision.transforms.RandomApply(transforms,p=0.5):随机变换。transforms为list,p为list中每个transform的出现概率。
  • torchvision.transforms.RandomCrop(size, padding=None, pad_if_needed=False, fill=0, padding_mode=‘constant’):随机裁剪。size为int或者(h,w);padding为padding后再Crop。
  • torchvision.transforms.RandomGrayscale(p=0.1):随机灰度变换。p为变换概率。
  • torchvision.transforms.RandomHorizontalFlip(p=0.5):随机水平翻转。
  • torchvision.transforms.RandomVerticalFlip(p=0.5):随机垂直方向翻转。
  • torchvision.transforms.RandomPerspective(distortion_scale=0.5, p=0.5, interpolation=, fill=0):随机透视变换(不同角度看图)。distortion_scale控制扭曲比列,p为变换概率,fill为outside 的填充。
  • torchvision.transforms.RandomResizedCrop(size, scale=(0.08, 1.0), ratio=(0.75, 1.333333), interpolation=):随机resize。size为int或[h,w];scale指定裁剪范围的下限和上限;ratio指定随机纵横比的下限和上限。
  • torchvision.transforms.Resize(size, interpolation=, max_size=None, antialias=None**)**:resize到指定size。
  • torchvision.transforms.GaussianBlur(kernel_size,sigma=(0.1,0.2)):随机高斯平滑。kernel_size为高斯核size。
  • torchvision.transforms.RandomInvert(p=0.5):随机颜色变换。

Transforms on PIL Image only

  • torchvision.transforms.RandomChoice(transforms,p=None):transforms list中的随机一个进行变换。
  • torchvision.transforms.RandomOrder(transforms):transforms中的顺序随机打乱。

Transforms on torch.*Tensor only

  • torchvision.transforms.Normalize(mean,std,inplace=False):归一化,(x-mean)/std。

Conversion Transforms

  • torchvision.transforms.ToPILImage(mode=None):ndarray、tensor转换为PIL image类型。
  • torchvision.transforms.ToTensor():PIL image、ndarray转化为Tensor类型。
  • torchvision.transforms.PILToTensor():PIL image类型转化为Tensor类型。

API 地址:https://pytorch.org/vision/stable/transforms.html

你可能感兴趣的:(pytorch,api,torchvision,pytorch,深度学习)