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


Posted in Python onApril 02, 2020

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

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

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

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

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

"""
  批训练,把数据变成一小批一小批数据进行训练。
  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使用方法

我们来看一下变量类型:

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

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

Python 相关文章推荐
Python使用Supervisor来管理进程的方法
May 28 Python
Python实现网站注册验证码生成类
Jun 08 Python
Python下载网络文本数据到本地内存的四种实现方法示例
Feb 05 Python
tensorflow训练中出现nan问题的解决
Feb 10 Python
浅谈Pandas 排序之后索引的问题
Jun 07 Python
利用Python将每日一句定时推送至微信的实现方法
Aug 13 Python
Python socket模块ftp传输文件过程解析
Nov 05 Python
利用Tensorflow构建和训练自己的CNN来做简单的验证码识别方式
Jan 20 Python
python str字符串转uuid实例
Mar 03 Python
在Ubuntu 20.04中安装Pycharm 2020.1的图文教程
Apr 30 Python
python批量创建变量并赋值操作
Jun 03 Python
Python实现socket库网络通信套接字
Jun 04 Python
Python基于stuck实现scoket文件传输
Apr 02 #Python
Python要求O(n)复杂度求无序列表中第K的大元素实例
Apr 02 #Python
Pytorch 使用不同版本的cuda的方法步骤
Apr 02 #Python
pytorch 中的重要模块化接口nn.Module的使用
Apr 02 #Python
python递归函数求n的阶乘,优缺点及递归次数设置方式
Apr 02 #Python
PyTorch中的C++扩展实现
Apr 02 #Python
python实现将列表中各个值快速赋值给多个变量
Apr 02 #Python
You might like
php使用ereg验证文件上传的方法
2014/12/16 PHP
php递归创建目录的方法
2015/02/02 PHP
php socket通信(tcp/udp)实例分析
2016/02/14 PHP
php实现微信支付之现金红包
2018/05/30 PHP
thinkPHP5框架路由常用知识点汇总
2019/09/15 PHP
jQuery EasyUI中对表格进行编辑的实现代码
2010/06/10 Javascript
Egret引擎开发指南之编译项目
2014/09/03 Javascript
JavaScript使用RegExp进行正则匹配的方法
2015/07/11 Javascript
JavaScript判断FileUpload控件上传文件类型
2015/09/28 Javascript
Jquery 垂直多级手风琴菜单附源码下载
2015/11/17 Javascript
Angularjs的ng-repeat中去除重复数据的方法
2016/08/05 Javascript
jQuery实现的瀑布流加载效果示例
2016/09/13 Javascript
浅析location.href跨窗口调用函数
2016/11/22 Javascript
微信小程序开发之相册选择和拍照详解及实例代码
2017/02/22 Javascript
js获取地址栏参数的两种方法
2017/06/27 Javascript
在vue项目中,使用axios跨域处理
2018/03/07 Javascript
node使用promise替代回调函数
2018/05/07 Javascript
javascript实现滚动条效果
2020/03/24 Javascript
jQuery实现推拉门效果
2020/10/19 jQuery
[01:15:45]DOTA2上海特级锦标赛B组小组赛#1 Alliance VS Spirit第一局
2016/02/26 DOTA
归纳整理Python中的控制流语句的知识点
2015/04/14 Python
Python类的定义、继承及类对象使用方法简明教程
2015/05/08 Python
python3实现二叉树的遍历与递归算法解析(小结)
2019/07/03 Python
python中bs4.BeautifulSoup的基本用法
2019/07/27 Python
基于python分析你的上网行为 看看你平时上网都在干嘛
2019/08/13 Python
Python通过两个dataframe用for循环求笛卡尔积
2020/04/29 Python
采购部主管岗位职责
2014/01/01 职场文书
教师个人剖析材料
2014/02/05 职场文书
2014年元旦感言
2014/03/06 职场文书
校企合作协议书
2014/04/16 职场文书
学雷锋的心得体会
2014/09/04 职场文书
建设办主任四风问题整改思路和措施
2014/09/20 职场文书
2015迎新晚会开场白
2015/05/29 职场文书
祝福语集锦:给妹妹结婚的祝福语
2019/12/18 职场文书
Memcached介绍及php-memcache扩展安装
2021/04/01 PHP
java Nio使用NioSocket客户端与服务端交互实现方式
2021/06/15 Java/Android