Pytorch——DataLoader(批训练)
文章目录
- 1.前言
- 2.DataLoader
1.前言
Pytorch 中提供了一种帮你整理你的数据结构的好东西, 叫做 DataLoader, 我们能用它来包装自己的数据, 进行批训练。
2.DataLoader
DataLoader 是 torch 给你用来包装你的数据的工具. 所以你要将自己的 (numpy array 或其他) 数据形式装换成 Tensor, 然后再放进这个包装器中. 使用 DataLoader 有什么好处呢? 就是他们帮你有效地迭代数据
import torch
from torch.utils.data import DataLoader, TensorDataset
torch.manual_seed(1)BATCH_SIZE = 4 #意味着一个epoch有两个迭代
x = torch.linspace(1,20,20)
y = torch.linspace(20,1,20)torch_dataset = TensorDataset(x,y) loader = DataLoader(dataset = torch_dataset,batch_size = BATCH_SIZE,shuffle = True,num_workers = 4
)for epoch in range(3):for step , (batch_x, batch_y) in enumerate(loader): #stepb表示一个eopch中的迭代次数print('Epoch:',epoch, '|Step:',step,'|batch x:',batch_x.numpy(),'|batch y:',batch_y.numpy() )
可以看出, 每步都导出了4个数据进行学习. 然后每个 epoch 的导出数据都是先打乱了以后再导出.(通过shuffle = True控制)
真正方便的还不是这点. 如果我们改变一下 BATCH_SIZE = 8, 这样我们就知道, step=0 会导出8个数据, 但是, step=2 时数据库中的数据不够 8个, 这时怎么办呢:
这时, 在 step=1 就只给你返回这个 epoch 中剩下的数据就好了.
Pytorch——DataLoader(批训练)相关推荐
- PyTorch 实现批训练和 Optimizer 优化器
批训练 import torch import torch.utils.data as DataBATCH_SIZE = 5x = torch.linspace(1, 10, 10) # this i ...
- pytorch dataloader num_workers参数设置导致训练阻塞
参考:https://blog.csdn.net/qian1122221/article/details/88579684 问题描述: 最近在用RFBnet (源码是pytorch的)训练RSNA的比 ...
- 使用Pytorch DataLoader快捷封装训练数据、测试数据的X与Y
DataSet的用法可以参考:pytorch 构造读取数据的工具类 Dataset 与 DataLoader (pytorch Data学习一) DataLoader的封装方法可以参考:Pytorch ...
- pytorch加载训练数据集dataloader操作耗费时间太久,该如何解决?
笔者在使用pytorch加载训练数据进行模型训练的时候,发现数据加载需要耗费太多时间,该如何缩短数据加载的时间消耗呢?经过查询相关文档,总结实际操作过程如下: 1.尽量将jpg等格式的文件保存为bmp ...
- pytorch读取文本训练
2019独角兽企业重金招聘Python工程师标准>>> # References # https://github.com/yunjey/pytorch-tutorial/blob/ ...
- pytorch如何将训练提速?
向AI转型的程序员都关注了这个号???????????? 机器学习AI算法工程 公众号:datayx 入门pytorch似乎不慢,写好dataloader和model就可以跑起来了,然而把模型搭好 ...
- 使用PyTorch Lightning自动训练你的深度神经网络
点击上方"AI公园",关注公众号,选择加"星标"或"置顶" 作者:Erfandi Maula Yusnu, Lalu 编译:ronghuai ...
- PyTorch安装测试训练建自己的数据集
Pytorch安装测试训练建自己的数据集 前言 一.PyTorch是什么? 二.PyTorch环境搭建 1.设备要求 2.安装Pytorch 3.验证PyTorch 二.CIFAR10测试 1.关于C ...
- [PyTorch]——DataLoader Num_workers
前段时间,我在调整yolo系列代码的时候,运行代码后,会提示 win页面太小问题,这种问题的解决办法之一就是通过调整 DataLoader的num_workers值的大小来解决,为了进一步了解num_ ...
最新文章
- UITableVIew的性能优化-重用原理
- JZOJ 100030. 【NOIP2017提高A组模拟7.8】为了爱情
- [JS] - 判断IE6和IE7
- OpenYurt入门-在树莓派上玩转OpenYurt
- 一、织物组织相关基本概念
- Java 排序(转)
- 【clickhouse】clickhouse 利用Grafana与系统表监控ClickHouse查询
- Python CGI 编程 | 类FieldStorage的使用
- C# 使用 MemoryStream 将数据写入内存
- 2018年线程与多线程面试必知必会内容
- rk3399_android7.1调试USB蓝牙模块小结
- 【mysql】Filesort on too many rows解决方法
- WinRAR去除广告
- 阿里巴巴Java开发编码规范—注释规约
- 进销存excel_Excel教程:教大家做简单的进销存
- 百变头像框制作微信小程序源码下载,免服务器和域名
- Proteus仿真C51利用双定时器输出占空比可变的PWM
- 服务器上什么叫节点位置,服务器中内存和节点什么意思
- 计算机光驱无法启用,光驱提示:无法访问G:\函数不正确解决方法
- mpc安装教程linux,linux mpc 安装
热门文章
- 【汇编语言与计算机系统结构笔记18】MIPS指令集与汇编程序设计 异常处理
- 【操作系统/OS笔记05】非连续内存分配:分段、分页、页表
- php中获取memcache所有key,Memcache查看列出所有key方法及memkeys实时查看key使用情况...
- mini车f和r的区别_雪铁龙也造出了“老头乐”,外观复古时尚,叫板宏光MINI?...
- 在PHP中使用协程实现多任务调度
- ios view 切上部分圆角_唯一可行的 iOS 架构
- Maven Oracle JDBC
- php 内存池,内存详解: 详解PHP内存池中的存储层_php
- SSM框架之Spring MVC(一)
- telnet收发邮件