4.1 PyTorch中的数据处理工具箱概述
PyTorch涉及数据处理(数据装载、数据预处理、数据增强等)主要工具包相互关系如图所示:
图左边是的torch.utils.data工具包,它包括以下四个类:
1)Dataset:是一个抽象类,其他数据集必须要继承这个类,并且覆写其中的两个方法(getitem, len)。
2)DataLoder:定义一个新的迭代器,它能批量读取(batch),打乱数据(shuffle)并提供并行加速等功能。
3)random_split:把数据集随机拆分为给定长度的非重叠的新数据集
4)*Sample:多种采样函数
图中间是PyTorch的可视化处理工具(Torchvision),它是PyTorch的一个视觉处理工具包。它包括四个类,功能如下:
1)datasets:提供常用的数据集加载,设计上都是继承自torch.utils.data.Dataset,主要包括MNIST、CIFAR10/100、imageNet和COCO等
2)models:提供深度学习各种经典网络结构以及训练好的模型(如果选择Pretrained=True),包括AlexNet,VGG系列、ResNet系列、Inception系列等
3)transforms:常用的数据预处理操作,主要包括对Tensor以及PIL Image对象的操作
4)utils:含两个函数,一个是make_grid,它能将多张图片拼接到一个网格中;另一个是save_img,它能将Tensor保存成图片