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 数据集选择与图片处理方式选择

trainset = torchvision.datasets.CIFAR10(root=’./data’, train=True,download=True, transform=transform)
testset = torchvision.datasets.CIFAR10(root=’./data’, train=False,download=True, transform=transform)
 

参数解释:
1.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,主线程导入数据



原文链接:https://blog.csdn.net/qq_36575363/article/details/110251868

 

 

 

 

 

 

上一篇:分布式训练遇到的问题


下一篇:【Tensorflow入门实践】第2节:MNIST数据集入门