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迭代器的使用方法实例
Nov 21 Python
python自动zip压缩目录的方法
Jun 28 Python
Python实现查找系统盘中需要找的字符
Jul 14 Python
Python 实现简单的电话本功能
Aug 09 Python
Python自动化测试Eclipse+Pydev 搭建开发环境
Aug 15 Python
Python3利用Dlib19.7实现摄像头人脸识别的方法
May 11 Python
python实现身份证实名认证的方法实例
Nov 08 Python
关于Python 中的时间处理包datetime和arrow的方法详解
Mar 19 Python
Pytorch 卷积中的 Input Shape用法
Jun 29 Python
Python matplotlib读取excel数据并用for循环画多个子图subplot操作
Jul 14 Python
详解如何在pyqt中通过OpenCV实现对窗口的透视变换
Sep 20 Python
Python的3种运行方式:命令行窗口、Python解释器、IDLE的实现
Oct 10 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三元运算符的结合性介绍
2012/01/10 PHP
php提取身份证号码中的生日日期以及验证是否为成年人的函数
2015/09/29 PHP
Opacity.js
2007/01/22 Javascript
摘自启点的main.js
2008/04/20 Javascript
Safari5中alert的无限循环BUG
2011/04/07 Javascript
JS实现仿百度输入框自动匹配功能的示例代码
2014/02/19 Javascript
JavaScript window.location对象
2014/11/14 Javascript
JQuery显示、隐藏div的几种方法简明总结
2015/04/16 Javascript
javascript实现炫酷的拖动分页
2015/05/11 Javascript
浅析2种JavaScript继承方式
2015/12/04 Javascript
jquery实现左右无缝轮播图
2020/07/31 Javascript
js阻止默认浏览器行为与冒泡行为的实现代码
2016/05/15 Javascript
JS如何判断浏览器类型和详细区分IE各版本浏览器
2017/03/04 Javascript
一道面试题引发的对javascript类型转换的思考
2017/03/06 Javascript
微信小程序手机号码验证功能的实例代码
2018/08/28 Javascript
jQuery实现移动端下拉展现新的内容回弹动画
2020/06/24 jQuery
jquery实现图片放大镜效果
2020/12/23 jQuery
原生js实现下拉框选择组件
2021/01/20 Javascript
Vue+Bootstrap实现简易学生管理系统
2021/02/09 Vue.js
[02:27]2018DOTA2亚洲邀请赛赛前采访-OpTic
2018/04/03 DOTA
C#返回当前系统所有可用驱动器符号的方法
2015/04/18 Python
python2.7 mayavi 安装图文教程(推荐)
2017/06/22 Python
Python把csv数据写入list和字典类型的变量脚本方法
2018/06/15 Python
python3正则提取字符串里的中文实例
2019/01/31 Python
关于pymysql模块的使用以及代码详解
2019/09/01 Python
python/Matplotlib绘制复变函数图像教程
2019/11/21 Python
python中setuptools的作用是什么
2020/06/19 Python
python 使用cycle构造无限循环迭代器
2020/12/02 Python
详解python的xlwings库读写excel操作总结
2021/02/26 Python
哄娃神器4moms商店:美国婴童用品品牌
2019/03/07 全球购物
如何利用find命令查找文件
2015/02/07 面试题
介绍一下linux的文件权限
2014/07/20 面试题
爱国卫生月活动总结范文
2014/04/25 职场文书
部门年终奖分配方案
2014/05/07 职场文书
2014年移动公司工作总结
2014/12/08 职场文书
三八妇女节寄语
2015/02/27 职场文书