torchvision.transform

  1. 对 PIL.Image 进行变换
  2. 对 Tensor 进行变换
  3. Conversion Transforms
  4. 通用变换

变换是常用的图像变换。它们可以用Compose连接在一起。

  1. class torchvision.transforms.Compose(transforms)

将多个 transform 组合起来使用。

transforms: 由 transform 构成的列表. 例子:

  1. transforms.Compose([
  2. transforms.CenterCrop(10),
  3. transforms.ToTensor(),
  4. ])

对 PIL.Image 进行变换


  1. class torchvision.transforms.Scale(size, interpolation=2)

按照规定的尺寸重新调节PIL.Image

参数说明

  1. size (sequence or int) - 期望输出尺寸。如果 size 是一个像(w, h)的序列,输出大小将按照 w,h 匹配到。如果大小是 int,则图像将匹配到这个数字。例如,如果原图的height>width,那么改变大小后的图片大小是(size*height/width, size)
  2. interpolation (int, optional) -需要添加值。默认的是PIL.Image.BILINEAR
  1. class torchvision.transforms.CenterCrop(size)

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

  1. class torchvision.transforms.RandomCrop(size, padding=0)

切割中心点的位置随机选取。size 可以是 tuple 也可以是 Integer。

  1. class torchvision.transforms.RandomHorizontalFlip

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

  1. class torchvision.transforms.RandomSizedCrop(size, interpolation=2)

先将给定的 PIL.Image 随机切,然后再 resize 成给定的 size 大小。

  1. class torchvision.transforms.Pad(padding, fill=0)

将给定的 PIL.Image 的所有边用给定的 pad value 填充。 padding:要填充多少像素 fill:用什么值填充

对 Tensor 进行变换


  1. class torchvision.transforms.Normalize(mean, std)

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

参数说明:

  1. mean (sequence) – 序列 R, G, B 的均值。
  2. std (sequence) – 序列 R, G, B 的平均标准偏差.

**call(tensor)** 参数: tensor (Tensor) – 规范化的大小(c,h,w)的张量图像. 返回结果: 规范化的图片. 返回样式: Tensor 张量

对 Conversion 进行变换


  1. class torchvision.transforms.ToTensor

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

**call(pic)**

  1. 参数: pic (PIL.Image or numpy.ndarray) – 图片转换为张量.
  2. 返回结果: 转换后的图像。
  3. 返回样式: Tensor 张量
  1. class torchvision.transforms.ToPILImage

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

**call(pic)**

  1. 参数: pic (Tensor or numpy.ndarray) – 图像转换为 pil.image。
  2. 返回结果: 图像转换为 PIL.Image.
  3. 返回样式: PIL.Image

通用变换


  1. class torchvision.transforms.Lambda(lambd)

使用 lambd 作为转换器。

参数说明: lambd (function) – Lambda/function 用于转换.

译者署名

用户名 头像 职能 签名
Song torchvision.transform - 图1 翻译 人生总要追求点什么