PyTorch跨时期数据加载器

xmd2e60i  于 2023-02-22  发布在  其他
关注(0)|答案(1)|浏览(136)

在PyTorch中,数据加载器游标用于在训练期间迭代数据。游标跟踪数据集中的当前位置,并用于检索下一批数据进行训练。当训练跨越多个时期时,游标应在每个时期后重置到数据集的开头。这允许模型在训练期间多次查看整个数据集。这有助于提高模型的性能。
PyTorch DataLoader如何在不同时期重置数据游标?它能保证从dataset开始重置吗?

vhmi4jdf

vhmi4jdf1#

如前所述,PyTorch的DataLoader类将数据游标重置到不同时期的起始位置,这是通过为每个新时期的数据集创建一个新的迭代器对象来实现的。
DataLoader类使用Sampler对象确定从数据集中检索样本的顺序。

  1. DataLoader使用的默认采样器是“SequentialSampler”。它按顺序从数据集中返回样本。在每个时段结束时,DataLoader创建一个新的SequentialSampler对象,并使用它在数据集上创建新的迭代器。这确保在每个新时段开始时将数据游标重置到数据集的开头。
    从数据集中检索样本的顺序可以通过使用不同的Sampler对象来控制。
    1.“RandomSampler”可用于以随机顺序检索样本。
    但是,无论使用什么样的采样器,DataLoader类都保证在每个时期开始时重置数据游标。

相关问题