类参考
class torchvision.transforms.Compose(transforms)
将多个transform组合起来使用。可以将以上代码中的 torchvision.transforms.Compose 类看作一种容器 ,它能够同时对多种数据变换进行组合 。传入的参数是一个列表,列表中的元素就是对载入的数据进行的各种变换操作 。
datasets.ImageFolder
一个通用的数据加载器,数据集中的数据以以下方式组织
root/类名1/图片名1.png
root/类名1/图片名2.png
root/类名2/图片名a.png
root/类名2/图片名b.png
datasets.ImageFolder(root="root folder path", [transform, target_transform])
成员变量:
self.classes - 用一个list保存类名
self.class_to_idx - 类名对应的索引
self.imgs - 保存(img-path, class) tuple的list
torch.utils.data.DataLoader
数据加载器。组合数据集和采样器,并在数据集上提供单进程或多进程迭代器。
class torch.utils.data.DataLoader(dataset, batch_size=1, shuffle=False, sampler=None, num_workers=0, collate_fn=<function default_collate>, pin_memory=False, drop_last=False)
参数:
dataset (Dataset) – 加载数据的数据集。
batch_size (int, optional) – 每个batch加载多少个样本(默认: 1)。
shuffle (bool, optional) – 设置为True时会在每个epoch重新打乱数据(默认: False).
sampler (Sampler, optional) – 定义从数据集中提取样本的策略。如果指定,则忽略shuffle参数。
num_workers (int, optional) – 用多少个子进程加载数据。0表示数据将在主进程中加载(默认: 0)
collate_fn (callable, optional) –
pin_memory (bool, optional) –
drop_last (bool, optional) – 如果数据集大小不能被batch size整除,则设置为True后可删除最后一个不完整的batch。如果设为False并且数据集的大小不能被batch size整除,则最后一个batch将更小。(默认: False)