美文网首页
pytorch之transforms.Compose()函数理解

pytorch之transforms.Compose()函数理解

作者: 菜D学习深度学习 | 来源:发表于2021-11-26 15:22 被阅读0次

torchvision是pytorch的一个图形库,它服务于PyTorch深度学习框架的,主要用来构建计算机视觉模型。torchvision.transforms主要是用于常见的一些图形变换。以下是torchvision的构成:

1.torchvision.datasets: 一些加载数据的函数及常用的数据集接口;

2.torchvision.models: 包含常用的模型结构(含预训练模型),例如AlexNet、VGG、ResNet等;

3.torchvision.transforms: 常用的图片变换,例如裁剪、旋转等;

4.torchvision.utils: 其他的一些有用的方法。

pytorch中的transforms模块中包含了很多种对图像数据进行变换的函数,这些都是在我们进行图像数据读入步骤中必不可少的。这个类的主要作用是串联多个图片变换的操作。


import torchvision

data_transform = torchvision.transforms.Compose([

    # 随机缩放裁剪 size 224*224

    torchvision.transforms.RandomResizedCrop(224),

    # 随机裁剪 size 224*224

    torchvision.transforms.RandomCrop(224),

    # 中心裁剪 size 224*224

    torchvision.transforms.CenterCrop(224),

    # 将图片的尺寸 Resize 到128*128 不裁剪

    torchvision.transforms.Resize((128,128)),

    # 转为张量并归一化到[0,1](是将数据除以255),且会把H*W*C会变成C *H *W

    torchvision.transforms.ToTensor(),

    # 数据归一化处理,3个通道中的数据整理理到[-1, 1]区间。3个通道,故有3个值。该[0.485, 0.456, 0.406]这一组平均值是从imagenet训练集中抽样算出来的。

    # ToTensor()的[0,1]只是范围改变了, 并没有改变分布,mean和std处理后可以让数据正态分布

    torchvision.transforms.Normalize(mean=[0.485, 0.456, 0.406],std=[0.229, 0.224, 0.225]),

    ])

相关文章

网友评论

      本文标题:pytorch之transforms.Compose()函数理解

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