PyTorch DataLoader()使用

Posted patrolli

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PyTorch DataLoader()使用相关的知识,希望对你有一定的参考价值。

DataLoader的作用:通常在训练时我们会将数据集分成若干小的、随机的batch,这个操作当然可以手动操作,但是PyTorch里面为我们提供了API让我们方便地从dataset中获得batch,DataLoader就是干这事儿的。
先看官方文档的描述,包括了每个参数的定义:
技术图片
它的本质是一个可迭代对象,一般的操作是:

  1. 创建一个dataset对象
  2. 创建一个DataLoader对象
  3. 遍历这个DataLoader对象,将data, label加载到模型中进行训练
#一个粗略的示意
dataset = torchvision.datasets.MNIST()  #从torchvision这个包里获得一个dataset对象
train_iter = torch.utils.data.DataLoader(dataset, batch_size = args.batch_size, shuffle = True)#创建DataLoader对象
for epoch in num(epochs):#将数据加载到模型之中
    for data, label in train_iter:
        ...

DataLoader还有更多的细节,但现在还没有遇到,所以先记下这部分。
这个博客关于这个话题讲得不错,参考 https://www.cnblogs.com/ranjiewen/p/10128046.html

以上是关于PyTorch DataLoader()使用的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 PyTorch DataLoader 进行强化学习?

Pytorch 1.7.0 | DataLoader 错误 - TypeError:“模块”对象不可调用

pytorch初学笔记:DataLoader的使用

PyTorch DataLoader()使用

Pytorch的Dataset与Dataloader之间的关系

「深度学习一遍过」必修3:Pytorch数据读取——使用Dataloader读取Dataset