文章目录

  • 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(批训练)相关推荐

  1. PyTorch 实现批训练和 Optimizer 优化器

    批训练 import torch import torch.utils.data as DataBATCH_SIZE = 5x = torch.linspace(1, 10, 10) # this i ...

  2. pytorch dataloader num_workers参数设置导致训练阻塞

    参考:https://blog.csdn.net/qian1122221/article/details/88579684 问题描述: 最近在用RFBnet (源码是pytorch的)训练RSNA的比 ...

  3. 使用Pytorch DataLoader快捷封装训练数据、测试数据的X与Y

    DataSet的用法可以参考:pytorch 构造读取数据的工具类 Dataset 与 DataLoader (pytorch Data学习一) DataLoader的封装方法可以参考:Pytorch ...

  4. pytorch加载训练数据集dataloader操作耗费时间太久,该如何解决?

    笔者在使用pytorch加载训练数据进行模型训练的时候,发现数据加载需要耗费太多时间,该如何缩短数据加载的时间消耗呢?经过查询相关文档,总结实际操作过程如下: 1.尽量将jpg等格式的文件保存为bmp ...

  5. pytorch读取文本训练

    2019独角兽企业重金招聘Python工程师标准>>> # References # https://github.com/yunjey/pytorch-tutorial/blob/ ...

  6. pytorch如何将训练提速?

    向AI转型的程序员都关注了这个号???????????? 机器学习AI算法工程   公众号:datayx 入门pytorch似乎不慢,写好dataloader和model就可以跑起来了,然而把模型搭好 ...

  7. 使用PyTorch Lightning自动训练你的深度神经网络

    点击上方"AI公园",关注公众号,选择加"星标"或"置顶" 作者:Erfandi Maula Yusnu, Lalu 编译:ronghuai ...

  8. PyTorch安装测试训练建自己的数据集

    Pytorch安装测试训练建自己的数据集 前言 一.PyTorch是什么? 二.PyTorch环境搭建 1.设备要求 2.安装Pytorch 3.验证PyTorch 二.CIFAR10测试 1.关于C ...

  9. [PyTorch]——DataLoader Num_workers

    前段时间,我在调整yolo系列代码的时候,运行代码后,会提示 win页面太小问题,这种问题的解决办法之一就是通过调整 DataLoader的num_workers值的大小来解决,为了进一步了解num_ ...

最新文章

  1. UITableVIew的性能优化-重用原理
  2. JZOJ 100030. 【NOIP2017提高A组模拟7.8】为了爱情
  3. [JS] - 判断IE6和IE7
  4. OpenYurt入门-在树莓派上玩转OpenYurt
  5. 一、织物组织相关基本概念
  6. Java 排序(转)
  7. 【clickhouse】clickhouse 利用Grafana与系统表监控ClickHouse查询
  8. Python CGI 编程 | 类FieldStorage的使用
  9. C# 使用 MemoryStream 将数据写入内存
  10. 2018年线程与多线程面试必知必会内容
  11. rk3399_android7.1调试USB蓝牙模块小结
  12. 【mysql】Filesort on too many rows解决方法
  13. WinRAR去除广告
  14. 阿里巴巴Java开发编码规范—注释规约
  15. 进销存excel_Excel教程:教大家做简单的进销存
  16. 百变头像框制作微信小程序源码下载,免服务器和域名
  17. Proteus仿真C51利用双定时器输出占空比可变的PWM
  18. 服务器上什么叫节点位置,服务器中内存和节点什么意思
  19. 计算机光驱无法启用,光驱提示:无法访问G:\函数不正确解决方法
  20. mpc安装教程linux,linux mpc 安装

热门文章

  1. 【汇编语言与计算机系统结构笔记18】MIPS指令集与汇编程序设计 异常处理
  2. 【操作系统/OS笔记05】非连续内存分配:分段、分页、页表
  3. php中获取memcache所有key,Memcache查看列出所有key方法及memkeys实时查看key使用情况...
  4. mini车f和r的区别_雪铁龙也造出了“老头乐”,外观复古时尚,叫板宏光MINI?...
  5. 在PHP中使用协程实现多任务调度
  6. ios view 切上部分圆角_唯一可行的 iOS 架构
  7. Maven Oracle JDBC
  8. php 内存池,内存详解: 详解PHP内存池中的存储层_php
  9. SSM框架之Spring MVC(一)
  10. telnet收发邮件