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 01 Python
python多线程操作实例
Nov 21 Python
python调用fortran模块
Apr 08 Python
高质量Python代码编写的5个优化技巧
Nov 16 Python
Python在groupby分组后提取指定位置记录方法
Apr 20 Python
python 读文件,然后转化为矩阵的实例
Apr 23 Python
Python中的字符串切片(截取字符串)的详解
May 15 Python
对tensorflow中的strides参数使用详解
Jan 04 Python
如何导出python安装的所有模块名称和版本号到文件中
Jun 05 Python
Matplotlib 绘制饼图解决文字重叠的方法
Jul 24 Python
python 获取字典特定值对应的键的实现
Sep 29 Python
Python项目打包成二进制的方法
Dec 30 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获取本周,上周,本月,上月,本季度日期的代码
2009/08/05 PHP
php 批量添加多行文本框textarea一行一个
2014/06/03 PHP
PHP对象实例化单例方法
2017/01/19 PHP
解决thinkPHP 5 nginx 部署时,只跳转首页的问题
2019/10/16 PHP
PHP 超级全局变量相关总结
2020/06/30 PHP
JavaScript的parseInt 进制问题
2009/05/07 Javascript
日历查询的算法 如何计算某一天是星期几
2012/12/12 Javascript
几种经典排序算法的JS实现方法
2016/03/25 Javascript
JavaScript仿淘宝页面图片滚动加载及刷新回顶部的方法解析
2016/05/24 Javascript
JavaScript数据类型转换的注意事项
2016/07/31 Javascript
JavaScript实现in-place思想的快速排序方法
2016/08/07 Javascript
jQuery Validate设置onkeyup验证的实例代码
2016/12/09 Javascript
jQuery无刷新上传之uploadify简单代码
2017/01/17 Javascript
JS排序之冒泡排序详解
2017/04/08 Javascript
使用ES6语法重构React代码详解
2017/05/09 Javascript
three.js中文文档学习之创建场景
2017/11/20 Javascript
vue中keep-alive、activated的探讨和使用详解
2020/07/26 Javascript
微信小程序之高德地图多点路线规划过程示例详解
2021/01/18 Javascript
用实例解释Python中的继承和多态的概念
2015/04/27 Python
Python中的集合类型知识讲解
2015/08/19 Python
Python第三方库xlrd/xlwt的安装与读写Excel表格
2017/01/21 Python
通过实例解析Python文件操作实现步骤
2020/09/21 Python
HTML5+css3:3D旋转木马效果相册
2017/01/03 HTML / CSS
印度在线杂货店:bigbasket
2018/08/23 全球购物
Tiqets英国:智能手机上的文化和娱乐门票
2019/07/10 全球购物
美国名牌香水折扣网站:Hottperfume
2021/02/10 全球购物
附答案的Java面试题
2012/11/19 面试题
基督教婚礼主持词
2014/03/14 职场文书
中国文明网向国旗敬礼活动精彩寄语2014
2014/09/27 职场文书
解除施工合同协议书
2014/10/17 职场文书
2014年后备干部工作总结
2014/12/08 职场文书
教学督导岗位职责
2015/04/10 职场文书
2015年教师党员承诺书
2015/04/27 职场文书
幼儿园园长安全责任书
2015/05/08 职场文书
幼儿园六一儿童节开幕词
2016/03/04 职场文书
阿里云日志过滤器配置日志服务
2022/04/09 Servers