torchvision
是pytorch的一个图形库,它服务于PyTorch深度学习框架的,主要用来构建计算机视觉模型。torchvision.transforms
主要是用于常见的一些图形变换。以下是torchvision
的构成:
torchvision.datasets
: 一些加载数据的函数及常用的数据集接口;torchvision.models
: 包含常用的模型结构(含预训练模型),例如AlexNet、VGG、ResNet等;torchvision.transforms
: 常用的图片变换,例如裁剪、旋转等;torchvision.utils
: 其他的一些有用的方法。
本文的主题是其中的torchvision.transforms.Compose()
类。这个类的主要作用是串联多个图片变换的操作。这个类的构造很简单:
class torchvision.transforms.Compose(transforms):
# Composes several transforms together.
# Parameters: transforms (list of Transform objects) – list of transforms to compose.
Example # 可以看出Compose里面的参数实际上就是个列表,而这个列表里面的元素就是你想要执行的transform操作。
>>> transforms.Compose([
>>> transforms.CenterCrop(10),
>>> transforms.ToTensor(),])
事实上,Compose()
类会将transforms列表里面的transform操作进行遍历。实现的代码很简单:
## 这里对源码进行了部分截取。
def __call__(self, img):
for t in self.transforms:
img = t(img)
return img
转载自:https://blog.csdn.net/wangkaidehao/article/details/104520022