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 代码性能优化技巧分享
Aug 07 Python
Python中的高级函数map/reduce使用实例
Apr 13 Python
Python基于回溯法子集树模板解决旅行商问题(TSP)实例
Sep 05 Python
matplotlib中legend位置调整解析
Dec 19 Python
python2.7安装图文教程
Mar 13 Python
Macbook安装Python最新版本、GUI开发环境、图像处理、视频处理环境详解
Feb 17 Python
python传到前端的数据,双引号被转义的问题
Apr 03 Python
Python Selenium截图功能实现代码
Apr 26 Python
基于python实现检索标记敏感词并输出
May 07 Python
Python实现aes加密解密多种方法解析
May 15 Python
一文搞懂python异常处理、模块与包
Jun 26 Python
Python编程编写完善的命令行工具
Sep 15 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 flv视频时间获取函数
2010/06/29 PHP
php+html5+ajax实现上传图片的方法
2016/05/14 PHP
jQuery 使用手册(六)
2009/09/23 Javascript
深入理解JavaScript系列(4) 立即调用的函数表达式
2012/01/15 Javascript
十个迅速提升JQuery性能让你的JQuery跑得更快
2012/12/10 Javascript
jquery封装的对话框简单实现
2013/07/21 Javascript
js借助ActiveXObject实现创建文件
2013/09/29 Javascript
javascipt:filter过滤介绍及使用
2014/09/10 Javascript
被遗忘的javascript的slice() 方法
2015/04/20 Javascript
使用jquery动态加载Js文件和Css文件
2015/10/24 Javascript
AngularJS入门(用ng-repeat指令实现循环输出
2016/05/05 Javascript
JS加载iFrame出现空白问题的解决办法
2016/05/13 Javascript
jQGrid动态填充select下拉框的选项值(动态填充)
2016/11/28 Javascript
js实现5秒倒计时重新发送短信功能
2017/02/05 Javascript
jQuery内容筛选选择器实例代码
2017/02/06 Javascript
JS实现的点击表头排序功能示例
2017/03/27 Javascript
使用javaScript实现鼠标拖拽事件
2020/04/03 Javascript
解决vue.js this.$router.push无效的问题
2018/09/03 Javascript
微信小程序-可移动菜单的实现过程详解
2019/06/24 Javascript
vue源码nextTick使用及原理解析
2019/08/13 Javascript
axios实现文件上传并获取进度
2020/03/25 Javascript
浅谈vue项目用到的mock数据接口的两种方式
2019/10/09 Javascript
JavaScript 作用域scope简单汇总
2019/10/23 Javascript
Python使用numpy实现BP神经网络
2018/03/10 Python
Python+AutoIt实现界面工具开发过程详解
2019/08/07 Python
详解python播放音频的三种方法
2019/09/23 Python
在pycharm中为项目导入anacodna环境的操作方法
2020/02/12 Python
Django-xadmin+rule对象级权限的实现方式
2020/03/30 Python
python torch.utils.data.DataLoader使用方法
2020/04/02 Python
python中urllib.request和requests的使用及区别详解
2020/05/05 Python
写给老婆的检讨书
2014/02/21 职场文书
就业协议书怎么填
2014/04/11 职场文书
审计局2014法制宣传日活动总结
2014/11/01 职场文书
婚礼双方父亲致辞
2015/07/27 职场文书
pytorch 权重weight 与 梯度grad 可视化操作
2021/06/05 Python
win10清理dns缓存
2022/04/19 数码科技