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.num_workers导入数据时的线程数目,默认为0,主线程导入数据



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

 

 

 

 

 

 

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
datasets 和 dataloaderPyTorch 中用于处理和加载数据的两个重要模块。 在 PyTorch 中,datasets 用于存储和处理数据集,例如图像、文本等。PyTorch 提供了许多内置的 datasets,如 torchvision 中的 ImageFolder 和 MNIST,也可以自定义 datasets。 下面是使用 torchvision.datasets.ImageFolder 加载图像数据集的示例代码: ```python import torchvision.datasets as datasets # 定义数据集路径 data_dir = 'path/to/dataset' # 创建 ImageFolder 数据集 dataset = datasets.ImageFolder(data_dir) # 获取数据集的长度 dataset_size = len(dataset) # 获取类别标签 class_labels = dataset.classes # 可以通过索引访问数据集中的样本 sample, label = dataset[0] # 可以通过迭代器遍历整个数据集 for sample, label in dataset: # 在这里对样本进行处理/转换 pass ``` 接下来,我们可以使用 dataloader 对数据集进行批量加载和预处理。dataloader 可以方便地将数据集划分为小批量样本,进行数据增强或标准化等操作。 下面是使用 torch.utils.data.DataLoader 对数据集进行批量加载的示例代码: ```python import torch.utils.data as data # 定义批量大小和多线程加载数据的工作进程数 batch_size = 32 num_workers = 4 # 创建 dataloader dataloader = data.DataLoader(dataset, batch_size=batch_size, num_workers=num_workers, shuffle=True) # 可以通过迭代器遍历整个数据集的小批量样本 for batch_samples, batch_labels in dataloader: # 在这里对小批量样本进行处理/转换 pass ``` 在上面的示例中,我们创建了一个 dataloader,并指定了批量大小和加载数据的工作进程数。`shuffle=True` 表示每个 epoch 都会对数据进行随机打乱,以增加数据的多样性。 通过使用 datasets 和 dataloader,我们可以方便地加载和处理各种类型的数据集,并应用各种预处理操作。这些模块的使用可以大大简化数据加载和处理的过程,提高代码的可读性和可维护性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值