PyTorch学习笔记(17)–torchvision.transforms用法介绍
本博文是PyTorch的学习笔记,第17次内容记录,主要记录了torchvision.transforms的使用方法。
目录
1.问题来源
在读ResNet的应用代码时,遇到下面这一小段代码,这段代码出现在读取图片信息之前,这段代码的具体功能是什么呢?对于初学者来说很有必要弄清楚这段代码的具体含义
data_transform = transforms.Compose(
[transforms.Resize(256),
transforms.CenterCrop(224),
transforms.ToTensor(),
transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])])
2.torchvision.transforms具体用法
PyTorch框架中有一个非常重要且好用的包:torchvision,该包主要由3个子包组成,分别是:torchvision.datasets、torchvision.models、torchvision.transforms。而上面这段代码就用到了torchvision.transforms
这个包。
这里用到的 torchvision 工具库是 pytorch 框架下常用的图像处理包,可以用来生成图片和视频数据集(torchvision.datasets),做一些图像预处理(torchvision.transforms),导入预训练模型(torchvision.models),以及生成图和保存图像(torchvision.utils)。
其中,transforms函数对图像做预处理可以是:归一化(normalize)
,尺寸剪裁(resize)
,翻转(flip)
等。
上面的这些步骤实际操作起来往往是一系列的,此时可以用compose将这些图像预处理操作连起来。
如上面的代码,这里做的操作是:
transforms.ToTensor() ,将一个PIL图像转换为tensor。即, (