torch 预处理图形数据
- torchvision
- torch.utils.data 对象构建
torchvision
torchvision-transform
对PIL.Image进行变换
class torchvision.transforms.Compose(transforms)
将多个transform组合起来使用。 参数transforms是由transform构成的列表。 exp:
1 | from torchvision import transforms |
exp中transforms.CenterCrop(50)等列表元素均是torchvision.transforms中的方法,是对图片做处理的方法。
class torchvision.transforms.CenterCrop(size)
pass
class torchvision.transforms.RandomCrop(size, padding=0)
pass
class torchvision.transforms.RandomHorizontalFlip
pass
class torchvision.transforms.RandomSizedCrop(size, interpolation=2)
pass
class torchvision.transforms.Pad(padding, fill=0)
pass
对Tensor进行变换
class torchvision.transforms.ToTensor
pass
class torchvision.transforms.ToPILImage
pass
在我目前的项目超分辨率中需要做的预处理代码
1 | crop = transforms.Compose([transforms.RandomCrop(100),transforms.ToTensor()]) |
torchvision.datasets
只做读取图片文件夹的解释,其他参考torchvision-datasets 中文文档
class torchvision.datasets.ImageFolder
原型
1 | dataset=torchvision.datasets.ImageFolder( |
参数解释
- root 图片存储的根目录,即各类别文件夹所在目录的上一级目录。
- transform 对图片进行预处理的操作(函数),原始图片作为输入,返回一个转换后的图片。对应torchvision-transform。
- target_transform 对图片类别进行预处理的操作,输入为target,输出对其的转换。
- loader:表示数据集加载方式,通常默认加载方式即可。
- is_valid_file:获取图像文件的路径并检查该文件是否为有效文件的函数(用于检查损坏文件) 返回的dataset的三种属性
- self.classes:用一个list保存类别名称
- self.class_to_idx:类别对应的索引,与不做任何转换返回的target对应
- self.imgs:保存(img-path, class)tuple的list exp:
1 | import torchvision.datasets as dset |
torch.utils.data
lass torch.utils.data.DataLoader
函数原型
1 | lass torch.utils.data.DataLoader( |