数据模块通常分为四个子模块,分别是收集、划分、读取和处理。
首先要收集数据,数据分为样本和标签 。 数据划分:要将数据划分为训练集、验证集和测试集。 数据读取,也就是今天要学习的DataLoader。DataLoader还分为Sampler和Dataset两个子模块。Sampler的作用是生成索引,也就是样本的序号。Dataset是根据索引读取图片和标签。 数据预处理。pytorch中是通过transforms实现的。
一、DataLoader与Dataset 主要学习数据读取模块
1、DataLoader
DataLoad是构建一个可迭代的数据装载器。迭代的时候,每一个for循环,每一个iteration都是从DataLoader中获取一个batchsize大小的数据。 共有11个参数,常用的有五个。 dataset: batchsize: num_works: shuffle: drop_last:
要理解drop_last,我们先理解Epoch、iteration、和batchsize的关系。
Epoch:所有样本输入一次。 所有样本会分成很多批输入,分成多少批就是有多少个iteration。批大小就是batchsize。
如果不能整除就需要用到drop_last参数。
2、Dataset Dataset是用来定义数据从哪里读取以及如何读取的问题。 pytorch中给定的Dataset是一个抽象类。我们所有的自定义的Dataset都要继承它,并一定要重写它的__getitem()方法。 __getitem__()实现的功能就是接受索引,返回样本。
|
pytorch数据读取:DataLoader与Dataset
最新推荐文章于 2025-05-14 23:05:40 发布