同步操作将从 OpenDocCN/pytorch-doc-zh 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
译者:@那伊抹微笑、@dawenzi123、@LeeGeong、@liandongze
校对者:@咸鱼
所有的数据集都是 torch.utils.data.Dataset
类的子类, 也就是说, 他们内部都实现了 __getitem__
和 __len__
这两个方法. 同时, 他们也都可以传递给类 torch.utils.data.Dataset
, 它可以使用 torch.multiprocessing
工作器来并行的加载多个样本.
示例:
imagenet_data = torchvision.datasets.ImageFolder('path/to/imagenet_root/')
data_loader = torch.utils.data.DataLoader(imagenet_data,
batch_size=4,
shuffle=True,
num_workers=args.nThreads)
可用的数据集如下所示:
Datasets
所有数据集都有几乎相似的 API, 它们有两个普通的参数: transform
和 target_transform
可分别的对输入和目标数据集进行变换. - transform
: 输入原始图片, 返回转换后的图片. - target_transform
: 输入为 target, 返回转换后的 target.
class torchvision.datasets.MNIST(root, train=True, transform=None, target_transform=None, download=False)
MNIST Dataset.
参数:
root (string)
– processed/training.pt
和 processed/test.pt
存在的主目录.train (bool, 可选)
– 如果 True, 数据来自训练集 training.pt
, 如果 False, 数据来自测试集 test.pt
.download (bool, 可选)
– 如果 true, 就从网上下载数据集并且放到 root 目录下. 如果数据集已经下载, 那么不会再次下载.transform (callable, 可选)
– 一个 transform 函数, 它输入 PIL image 并且返回 转换后的版本. E.g, transforms.RandomCrop
target_transform (callable, 可选)
– 一个 transform 函数, 输入 target 并且 转换它.class torchvision.datasets.FashionMNIST(root, train=True, transform=None, target_transform=None, download=False)
Fashion-MNIST Dataset.
参数:
root (string)
– processed/training.pt
和 processed/test.pt
存在的主目录.train (bool, 可选)
– 如果 True, 数据来自训练集 training.pt
, 如果 False, 数据来自测试集 test.pt
.download (bool, 可选)
– 如果 true, 就从网上下载数据集并且放到 root 目录下. 如果数据集已经下载, 那么不会再次下载.transform (callable, 可选)
– 一个 transform 函数, 它输入 PIL image 并且返回 转换后的版本. E.g, transforms.RandomCrop
target_transform (callable, 可选)
– 一个 transform 函数, 输入 target 并且 转换它.注解:
需要安装 COCO API
class torchvision.datasets.CocoCaptions(root, annFile, transform=None, target_transform=None)
MS Coco Captions Dataset.
参数:
root (string)
– 数据集下载存放的主目录.annFile (string)
– json 注释文件存放的路径transform (callable, 可选)
– 一个 transform 函数, 它输入 PIL image 并且返回 转换后的版本. E.g, transforms.ToTensor
target_transform (callable, 可选)
– 一个 transform 函数, 输入 target 并且 转换它.示例:
import torchvision.datasets as dset
import torchvision.transforms as transforms
cap = dset.CocoCaptions(root = 'dir where images are',
annFile = 'json annotation file',
transform=transforms.ToTensor())
print('Number of samples: ', len(cap))
img, target = cap[3] # load 4th sample
print("Image Size: ", img.size())
print(target)
Output:
Number of samples: 82783
Image Size: (3L, 427L, 640L)
[u'A plane emitting smoke stream flying over a mountain.',
u'A plane darts across a bright blue sky behind a mountain covered in snow',
u'A plane leaves a contrail above the snowy mountain top.',
u'A mountain that has a plane flying overheard in the distance.',
u'A mountain view with a plume of smoke in the background']
__getitem__(index)
参数:index (int)
– Index
返回值:Tuple (image, target)
. 目标是一个图像标注的列表.
返回类型:tuple
class torchvision.datasets.CocoDetection(root, annFile, transform=None, target_transform=None)
MS Coco Detection Dataset.
参数:
root (string)
– 数据集下载存放的主目录.annFile (string)
– json 注释文件存放的路径transform (callable, 可选)
– 一个 transform 函数, 它输入 PIL image 并且返回 转换后的版本. E.g, transforms.ToTensor
target_transform (callable, 可选)
– 一个 transform 函数, 输入 target 并且 转换它.__getitem__(index)
参数:index (int)
– Index
返回值:Tuple (image, target)
. 目标是由 coco.loadAnns
返回的对象.
返回类型:tuple
class torchvision.datasets.LSUN(db_path, classes='train', transform=None, target_transform=None)
LSUN dataset.
参数:
db_path (string)
– 数据集文件存放的主目录.classes (string 或 list)
– {'train', 'val', 'test'} 中的一个, 或者是一个要载入种类的列表. e,g. ['bedroom_train', 'church_train'].transform (callable, 可选)
– 一个 transform 函数, 它输入 PIL image 并且返回 转换后的版本. E.g, transforms.RandomCrop
target_transform (callable, 可选)
– 一个 transform 函数, 输入 target 并且 转换它.__getitem__(index)
参数:index (int)
– Index
返回值:Tuple (image, target)
目标是目标类别的索引.
返回类型:tuple
class torchvision.datasets.ImageFolder(root, transform=None, target_transform=None, loader=<function default_loader at 0x432aa28>)
一个通用的数据加载器, 数据集中的数据以以下方式组织:
root/dog/xxx.png
root/dog/xxy.png
root/dog/xxz.png
root/cat/123.png
root/cat/nsdf3.png
root/cat/asd932_.png
参数:
root (string)
– 主目录.transform (callable, 可选)
– 一个 transform 函数, 它输入 PIL image 并且返回 转换后的版本. E.g, transforms.RandomCrop
target_transform (callable, 可选)
– 一个 transform 函数, 输入 target 并且 转换它.loader
– 一个从给定路径载入图像的函数.__getitem__(index)
参数:index (int)
– Index
返回值:(image, target)
目标是目标类别的class_index.
返回类型:tuple
这可以通过一个 ImageFolder
数据集轻易实现. 该数据预处理过程如 这里描述的 所示
class torchvision.datasets.CIFAR10(root, train=True, transform=None, target_transform=None, download=False)
CIFAR10 Dataset.
参数:
root (string)
– cifar-10-batches-py
存在的主目录.train (bool, 可选)
– 如果 True, 数据来自训练集, 如果 False, 数据来自测试集.transform (callable, 可选)
– 一个 transform 函数, 它输入 PIL image 并且返回 转换后的版本. E.g, transforms.RandomCrop
target_transform (callable, 可选)
– 一个 transform 函数, 输入 target 并且 转换它.download (bool, 可选)
– 如果 true, 就从网上下载数据集并且放到 root 目录下. 如果数据集已经下载, 那么不会再次下载.__getitem__(index)
参数:index (int)
– Index
返回值:(image, target)
目标是目标分类的索引.
返回类型:tuple
class torchvision.datasets.CIFAR100(root, train=True, transform=None, target_transform=None, download=False)
CIFAR100 Dataset.
CIFAR10
Dataset 的一个子类.
class torchvision.datasets.STL10(root, split='train', transform=None, target_transform=None, download=False)
STL10 Dataset.
参数:
root (string)
– stl10_binary
数据集存放的主目录.split (string)
– {'train', 'test', 'unlabeled', 'train+unlabeled'} 中的一个. 它是根据数据集选择的.transform (callable, 可选)
– 一个 transform 函数, 它输入 PIL image 并且返回 转换后的版本. E.g, transforms.RandomCrop
target_transform (callable, 可选)
– 一个 transform 函数, 输入 target 并且 转换它.download (bool, 可选)
– 如果 true, 就从网上下载数据集并且放到 root 目录下. 如果数据集已经下载, 那么不会再次下载.__getitem__(index)
参数:index (int)
– Index
返回值:(image, target)
目标是目标类的索引.
返回类型:tuple
class torchvision.datasets.SVHN(root, split='train', transform=None, target_transform=None, download=False)
SVHN Dataset. Note: 原始的 SVHN 数据集把标签 10
分给了数字 0
. 然而在这个数据集, 我们把标签 0
分给了数字 0
以便 和 PyTorch 的损失函数不产生冲突, 它期待的类标签的范围是 [0, C-1]
.
参数:
root (string)
– SVHN
数据集存放的主目录.split (string)
– {'train', 'test', 'extra'} 中的一个. 它是根据数据集选择的. 'extra' 是一个额外的训练集.transform (callable, 可选)
– 一个 transform 函数, 它输入 PIL image 并且返回 转换后的版本. E.g, transforms.RandomCrop
target_transform (callable, 可选)
– 一个 transform 函数, 输入 target 并且 转换它.download (bool, 可选)
– 如果 true, 就从网上下载数据集并且放到 root 目录下. 如果数据集已经下载, 那么不会再次下载.__getitem__(index)
参数:index (int)
– Index
返回值:(image, target)
目标是目标类的索引.
返回类型:tuple
class torchvision.datasets.PhotoTour(root, name, train=True, transform=None, download=False)
Learning Local Image Descriptors Data Dataset.
参数:
root (string)
– 图像存放的主目录.name (string)
– 载入的数据集的名字.transform (callable, 可选)
– 一个 transform 函数, 它输入 PIL image 并且返回 转换后的版本.download (bool, 可选)
– 如果 true, 就从网上下载数据集并且放到 root 目录下. 如果数据集已经下载, 那么不会再次下载.__getitem__(index)
参数:index (int)
– Index
返回值:(data1, data2, matches)
返回类型:tuple
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。