pytorch-torchvision:datasets和Dataloader参数详解
torchvision.datasets
如果实验中使用成熟的图像数据集合,可以使用torchvision.datasets模块
支持–MNIST、Fashion-MNIST、KMNIST、EMNIST、FakeData、COCO、Captions、Detection、LSUN、ImageFolder、DatasetFolder、ImageNet、CIFAR、STL10、SVHN、PhotoTour、SBU、Flickr、VOC、Cityscapes、SBD等常用数据集合。
CIFAR10数据集使用的例子
transform = transforms.Compose( [transforms.ToTensor(),transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))])
trainset = torchvision.datasets.CIFAR10(root='./data', train=True,download=True, transform=transform)
trainloader = torch.utils.data.DataLoader(trainset, batch_size=4,shuffle=True, num_workers=2)
testset = torchvision.datasets.CIFAR10(root='./data', train=False,download=True, transform=transform)
testloader = torch.utils.data.DataLoader(testset, batch_size=4,shuffle=False, num_workers=2)
step1 数据集选择与图片处理方式选择
train_set=torchvison.datasets.CIFAR10(root='./data',train=True,download=True,transform=transfrom)
test_set = torchvision.datasets.CIFAR10(root=’./data’, train=False,download=True, transform=transform)
参数解释:
- root='./data'
数据集的保存目录,各种数据集有自己的文件格式,其中MNIST是以training.pt和test.pt的保存图像数据信息(具体看一下文件应该怎么存,读入之后的列表和迭代器各是什么内容)
2.train = True
处理MNIST时从training.pt读取训练数据,=False 从test.pt读取测试数据。仔细观察,上面两句话只有在train这个选项处不同.
3.download =True
会从网上下载对应的数据集文件,MNIST对应.pt文件,如果存在 .pt 文件,这个参数可以设置为False
4.transform
设置一组对图像进行处理的操作,这一组操作由Compose组成,这一组compose 的顺序还很重要按如下顺序编写:
transforms.Resize()
transforms.ToTensor(),
transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5)),
step2 数据载入接口
trainloader = torch.utils.data.DataLoader(trainset, batch_size=4,shuffle=True, num_workers=2)
testloader = torch.utils.data.DataLoader(testset, batch_size=4, shuffle=False, num_workers=2)
参数解释
1.将刚刚生成的trainset列表传入 torch.utils.data.DataLoader()
2.batch_size=4 设定图像数据批次大小
3.shuffle=True 每一个epoch过程中会打乱数据顺序,重新随机选择
4.导入数据时的线程数目,默认为0,主线程导入数据,windows上需要将参数num_workers设置成0,否则有可能出现线程问题。
本文来自博客园,作者:TCcjx,转载请注明原文链接:https://www.cnblogs.com/tccjx/articles/16000722.html