pytorch官方对应的教程
torch.utils.data.Dataset主要是针对单个样本
torch.utils.data.Dataloader针对多个样本.
简单的说是通过torch.utils.data.Dataset得到单个样本过后,再用torch.utils.data.Dataloader把它变成随机梯度下降算法 训练所需要的minibatch的形式(比如把多个样本打包成一个batch、或者把样本顺序打乱等等操作都可以通过Dataloader来实现,通常我们会将多个样本同时进行训练,这样一方面可以加快训练速度,另一方面可以提高抗噪性。
torch.utils.data.Dataset
Dataset主要是从磁盘中加载数据,并对样本和标签做一些预处理。
自定义 Dataset 类必须实现三个函数__init__,__len __ ,__getitem __。(继承torch.utils.data.Dataset这个类)
def getitem(self, index):
raise NotImplementedError
该函数通过索引来返回训练样本,比如训练样本有100个,那index的范围为[0,99].