美文网首页
pytorch torchvision transform

pytorch torchvision transform

作者: 只为此心无垠 | 来源:发表于2019-03-05 14:39 被阅读5次

    pytorch torchvision transform

    原文链接

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

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

    class torchvision.transforms.Compose(transforms)
    

    将多个transform组合起来使用。

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

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

    对PIL.Image进行变换


    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
    class torchvision.transforms.CenterCrop(size)
    

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

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

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

    class torchvision.transforms.RandomHorizontalFlip
    

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

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

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

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

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

    对Tensor进行变换


    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进行变换


    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张量
    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

    通用变换


    class torchvision.transforms.Lambda(lambd)
    

    使用lambd作为转换器。

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

    相关文章

      网友评论

          本文标题:pytorch torchvision transform

          本文链接:https://www.haomeiwen.com/subject/tkznuqtx.html