【pytorch】torch.utils.data.Dataset 认识

前言

torch.utils.data.Dataset 类和 torch.utils.data.DataLoader 类组合得到数据迭代器,是pytorch中一种十分方便的数据读取机制。在每次训练时,利用这个迭代器输出每一个batch数据(batch:从全部样本中取得的一批数据),并能在输出时对数据进行相应的预处理或数据增广操作。

torch.utils.data.Dataset 类和 torch.utils.data.DataLoader 类的使用

  1. pytorch提供了一个数据读取的方法,其由两个类构成:torch.utils.data.Dataset和DataLoader。
  2. 我们要自定义自己数据读取的方法,就需要继承torch.utils.data.Dataset,并将其封装到DataLoader中。
  3. torch.utils.data.Dataset表示该数据集,继承该类可以重载其中的方法,实现多种数据读取及数据预处理方式。
  4. torch.utils.data.DataLoader 封装了Data对象,实现单(多)进程迭代器输出数据集。

torch.utils.data.Dataset 类

  1. 要自定义自己的Dataset类,至少要重载两个方法,len, getitem
  2. __len__返回的是数据集的大小
  3. __getitem__实现索引数据集中的某一个数据
  4. 除了这两个基本功能,还可以在__getitem__时对数据进行预处理,或者是直接在硬盘中读取数据,对于超大的数据集还可以使用lmdb来读取

torch.utils.data.Dataloader 类

  1. Dataloader将Dataset或其子类封装成一个迭代器
  2. 这个迭代器可以迭代输出Dataset的内容
  3. 同时可以实现多进程、shuffle、不同采样策略,数据校对等等处理过程

以上资料来源

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值