前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python torch.utils.data.DataLoader使用方法

python torch.utils.data.DataLoader使用方法

作者头像
砸漏
发布2020-10-27 15:42:31
2.4K0
发布2020-10-27 15:42:31
举报
文章被收录于专栏:恩蓝脚本

PyTorch中数据读取的一个重要接口是torch.utils.data.DataLoader,该接口定义在dataloader.py脚本中,只要是用PyTorch来训练模型基本都会用到该接口,该接口主要用来将自定义的数据读取接口的输出或者PyTorch已有的数据读取接口的输入按照batch size封装成Tensor,后续只需要再包装成Variable即可作为模型的输入,因此该接口有点承上启下的作用,比较重要。

数据加载器,结合了数据集和取样器,并且可以提供多个线程处理数据集。

在训练模型时使用到此函数,用来把训练数据分成多个小组,此函数每次抛出一组数据。直至把所有的数据都抛出。就是做一个数据的初始化。

生成迭代数据非常方便,请看如下示例:

代码语言:javascript
复制
"""
  批训练,把数据变成一小批一小批数据进行训练。
  DataLoader就是用来包装所使用的数据,每次抛出一批数据
"""
import torch
import torch.utils.data as Data

BATCH_SIZE = 5

x = torch.linspace(1, 10, 10)
y = torch.linspace(10, 1, 10)
# 把数据放在数据库中
torch_dataset = Data.TensorDataset(x, y)
loader = Data.DataLoader(
  # 从数据库中每次抽出batch size个样本
  dataset=torch_dataset,
  batch_size=BATCH_SIZE,
  shuffle=True,
  num_workers=2,
)


def show_batch():
  for epoch in range(3):
    for step, (batch_x, batch_y) in enumerate(loader):
      # training


      print("steop:{}, batch_x:{}, batch_y:{}".format(step, batch_x, batch_y))


if __name__ == '__main__':
  show_batch()

结果:

我们来看一下变量类型:

到此这篇关于python torch.utils.data.DataLoader使用方法的文章就介绍到这了,更多相关torch.utils.data.DataLoader内容请搜索ZaLou.Cn以前的文章或继续浏览下面的相关文章希望大家以后多多支持ZaLou.Cn!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-09-11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档