torchvision.datasets

    1. COCO(用于图像标注和目标检测)(Captioning and Detection)
    2. ImageFolder
    3. CIFAR10 and CIFAR100
    4. SVHN

    所有数据集都是torch.utils.data.Dataset的子类, 即它们具有getitemlen实现方法。因此,它们都可以传递给torch.utils.data.DataLoader 可以使用torch.multiprocessing工作人员并行加载多个样本的数据。例如:

    所有的数据集都有几乎相似的API。他们都有两个共同的参数: transform和 target_transform分别转换输入和目标。

    MNIST

    1. dset.MNIST(root, train=True, transform=None, target_transform=None, download=False)

    参数说明:

    • root : 数据集,存在于根目录processed/training.pt 和 processed/test.pt中。
    • train : True = 训练集, False = 测试集
    • download : 如果为true,请从Internet下载数据集并将其放在根目录中。如果数据集已经下载,则不会再次下载。
    • transform :接收PIL映像并返回转换版本的函数/变换。例如:transforms.RandomCrop
    • target_transform:一个接收目标并转换它的函数/变换。

    COCO

    需要安装COCO API

    1. dset.CocoCaptions(root="dir where images are", annFile="json annotation file", [transform, target_transform])

    参数说明:

    • root(string) - 图像下载到的根目录。
    • transform(可调用,可选) - 接收PIL映像并返回转换版本的函数/变换。例如:transforms.ToTensor
    • target_transform(可调用,可选) - 一个接收目标并转换它的函数/变换。
    1. import torchvision.datasets as dset
    2. import torchvision.transforms as transforms
    3. annFile = 'json annotation file',
    4. transform=transforms.ToTensor())
    5. print('Number of samples: ', len(cap))
    6. img, target = cap[3] # load 4th sample
    7. print("Image Size: ", img.size())
    8. print(target)

    输出:

    getitem(index) 参数: index(int) - 索引 返回: 元组(图像,目标)。目标是图片的标题列表。 返回类型: 元组

    检测:

    1. dset.CocoDetection(root="dir where images are", annFile="json annotation file", [transform, target_transform])

    参数:

    • root(string) - 图像下载到的根目录。
    • annFile(string) - json注释文件的路径。
    • transform(可调用,可选) - 接收PIL映像并返回转换版本的函数/变换。例如,transforms.ToTensor
    • target_transform(可调用,可选) - 一个接收目标并转换它的函数/变换。

    getitem(index) 参数: index(int) - 索引 返回: 元组(图像,目标)。目标是图片的标题列表。 返回类型: 元组

    LSUN

    1. dset.LSUN(db_path, classes='train', [transform, target_transform])
    • db_path = 数据集文件的根目录
    • classe = train (所有类别, 训练集), val (所有类别, 验证集), test (所有类别, 测试集) [, church_train, …] : 要加载的类别列表
    • transform(可调用,可选) - 接收PIL映像并返回转换版本的函数/变换。例如,transforms.RandomCrop
    • target_transform(可调用,可选) - 一个接收目标并转换它的函数/变换。

    ImageFolder

    一个通用的数据加载器,数据集中的数据以以下方式组织

    1. root/dog/xxx.png
    2. root/dog/xxy.png
    3. root/dog/xxz.png
    4. root/cat/nsdf3.png
    5. root/cat/asd932_.png
    6. dset.ImageFolder(root="root folder path", [transform, target_transform])

    参数说明:

    • root(string) - 根目录路径。
    • transform(可调用,可选) - 接收PIL映像并返回转换版本的函数/变换。例如,transforms.RandomCrop
    • target_transform(可调用,可选) - 一个接收目标并转换它的函数/变换。
    • loader - 加载给定其路径的图像的函数。

    Imagenet-12

    这应该简单地用ImageFolder数据集实现。数据按照这里所述进行预处理 这里有一个例子

    CIFAR

    参数说明:

    • root : cifar-10-batches-py 的根目录
    • train : True = 训练集, False = 测试集
    • download : True = 从互联上下载数据,并将其放在root目录下。如果数据集已经下载,什么都不干。
    • transform(可调用,可选) - 接收PIL映像并返回转换版本的函数/变换。例如,transforms.RandomCrop
    • target_transform(可调用,可选) - 一个接收目标并转换它的函数/变换。

    STL10

    1. dset.STL10(root, split='train', transform=None, target_transform=None, download=False)

    参数说明:

    • root : stl10_binary的根目录
    • split : ‘train’ = 训练集, ‘test’ = 测试集, ‘unlabeled’ = 无标签数据集, ‘train+unlabeled’ = 训练 + 无标签数据集 (没有标签的标记为-1)
    • download : True = 从互联上下载数据,并将其放在root目录下。如果数据集已经下载,什么都不干。
    • transform(可调用,可选) - 接收PIL映像并返回转换版本的函数/变换。例如,transforms.RandomCrop
    • target_transform(可调用,可选) - 一个接收目标并转换它的函数/变换。

    SVHN

    1. class torchvision.datasets.SVHN(root, split='train', transform=None, target_transform=None, download=False)
    • root(string) - 目录SVHN存在的数据集的根目录 。
    • split(string) - {‘train’,’test’,’extra’}之一。因此选择数据集。“额外”是额外的训练集。
    • transform(可调用,可选) - 接收PIL映像并返回转换版本的函数/变换。例如,transforms.RandomCrop
    • target_transform(可调用,可选) - 一个接收目标并转换它的函数/变换。
    • download (bool,可选) - 如果为true,请从Internet下载数据集并将其放在根目录中。如果数据集已经下载,则不会再次下载。

    PhotoTour

    1. class torchvision.datasets.PhotoTour(root, name, train=True, transform=None, download=False)

    参数:

    • root(string) - 图像所在的根目录。
    • name(string) - 要加载的数据集的名称。
    • download (bool,可选) - 如果为true,请从Internet下载数据集并将其放在根目录中。如果数据集已经下载,则不会再次下载。