pytorch之transforms.Compose()函数理解
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pytorch之transforms.Compose()函数理解相关的知识,希望对你有一定的参考价值。
参考技术A 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()函数理解的主要内容,如果未能解决你的问题,请参考以下文章
pytorch之transforms.Compose()函数理解