PyTorch 之 DataLoader
DataLoader
DataLoader 是 PyTorch 中读取数据的一个重要接口,该接口定义在 dataloader.py 文件中,该接口的目的: 将自定义的 Dataset 根据 batch size 的大小、是否 shuffle 等封装成一个 batch size 大小的 Tensor,用于后面的训练。
通过 DataLoader,使得我们在准备 mini-batch 时可以多线程并行处理,这样可以加快准备数据的速度。
DataLoader 是一个高效、简洁、直观地网络输入数据结构,便于使用和扩展
- DataLoader 本质是一个可迭代对象,使用 iter() 访问,不能使用 next() 访问
- 使用 iter(dataloader) 返回的是一个迭代器,然后使用 next() 访问
- 也可以使用
for features, targets in dataloaders
进行可迭代对象的访问- 一般我们实现一个 datasets 对象,传入到 DataLoader 中,然后内部使用
yield
返回每一次 batch 的数据
DataLoader(object) 的部分参数:
# 传入的数据集
dataset(Dataset)
# 每个 batch 有多少个样本
batch_size(int, optional)
# 在每个 epoch 开始的时候,对数据进行重新排序
shuffle(bool, optional)
# 自定义从数据集中抽取样本的策略,如果指定这个参数,那么 shuffle 必须为 False
sampler(Sampler, optional)
# 与 sampler 类似,但是一次只返回一个 batch 的 indices(索引),如果指定这个参数,那么 batch_size, shuffle, sampler, drop_last 就不能再指定了
batch_sampler(Sampler, optional)
# 这个参数决定有多少进程处理数据加载,0 意味着所有数据都会被加载到主进程,默认为0
num_workers(int, optional)
# 如果设置为 True,则最后不足batch_size大小的数据会被丢弃,比如batch_size=64, 而一个epoch只有100个样本,则最后36个会被丢弃;如果设置为False,则最后的batch_size会小一点
drop_last(bool, optional)
Reference:
PyTorch 之 DataLoader的更多相关文章
- [pytorch修改]dataloader.py 实现darknet中的subdivision功能
dataloader.py import random import torch import torch.multiprocessing as multiprocessing from torch. ...
- Pytorch自定义dataloader以及在迭代过程中返回image的name
pytorch官方给的加载数据的方式是已经定义好的dataset以及loader,如何加载自己本地的图片以及label? 形如数据格式为 image1 label1 image2 label2 ... ...
- pytorch之dataloader深入剖析
PyTorch学习笔记(6)——DataLoader源代码剖析 - dataloader本质是一个可迭代对象,使用iter()访问,不能使用next()访问: - 使用iter(dataloader) ...
- 一文弄懂Pytorch的DataLoader, DataSet, Sampler之间的关系
以下内容都是针对Pytorch 1.0-1.1介绍. 很多文章都是从Dataset等对象自下往上进行介绍,但是对于初学者而言,其实这并不好理解,因为有的时候会不自觉地陷入到一些细枝末节中去,而不能把握 ...
- PyTorch之DataLoader杂谈
输入数据PipeLine pytorch 的数据加载到模型的操作顺序是这样的: ①创建一个 Dataset 对象②创建一个 DataLoader 对象③循环这个 DataLoader 对象,将img, ...
- pytorch中DataLoader, DataSet, Sampler之间的关系
转自:https://mp.weixin.qq.com/s/RTv0cUWvc0kuXBeNoXVu_A 自上而下理解三者关系 首先我们看一下DataLoader.__next__的源代码长什么样,为 ...
- pytorch Dataset Dataloader用法(一个示例)
from torch.utils.data import Dataset from torch.utils.data import DataLoader from torch.utils.data i ...
- pytorch 中Dataloader中的collate_fn参数
一般的,默认的collate_fn函数是要求一个batch中的图片都具有相同size(因为要做stack操作),当一个batch中的图片大小都不同时,可以使用自定义的collate_fn函数,则一个b ...
- 【pytorch】torch.utils.data.DataLoader
简介 DataLoader是PyTorch中的一种数据类型.用于训练/验证/测试时的数据按批读取. torch.utils.data.DataLoader(dataset, batch_size=1, ...
随机推荐
- 汇编push,pop
版权声明:本文为博主原创文章,转载请附上原文出处链接和本声明.2019-08-24,00:40:12作者By-----溺心与沉浮----博客园 1.BASE,TOP是2个32位的通用寄存器,里面存储的 ...
- DDL创建数据库,表以及约束(极客时间学习笔记)
DDL DDL是DBMS的核心组件,是SQL的重要组成部分. DDL的正确性和稳定性是整个SQL发型的重要基础. DDL的基础语法及设计工具 DDL的英文是Data Definition Langua ...
- 08、启动过程+at+crond+anacron
[root@li ~]# 加电--BIOS (basic input output system)--以什么设备来启动--/dev/sda -- mbr -- grub.conf --vmlinux ...
- linux关闭ACPI电源管理模块
一.运行环境 # cat /etc/redhat-release CentOS release 6.2 (Final) # uname -a Linux web-server- -.el6.x86_6 ...
- 语义分析的waf 目前就看到长亭 机器学习的waf有fortnet 阿里云的waf也算
近期,在全球权威咨询机构 Gartner 发布的 2019 Web 应用防火墙魔力象限中,阿里云 Web 应用防火墙成功入围,是亚太地区唯一一家进入该魔力象限的厂商! Web 应用防火墙,简称 WAF ...
- luoguP1195 口袋的天空
生成树一 题目描述 给你云朵的个数NN,再给你MM个关系,表示哪些云朵可以连在一起. 现在小杉要把所有云朵连成KK个棉花糖,一个棉花糖最少要用掉一朵云,小杉想知道他怎么连,花费的代价最小. 链接 分析 ...
- 跟着 Alex 学python 1.安装
声明 : 文档内容学习于 http://www.cnblogs.com/xiaozhiqi/ 参考文档: http://www.runoob.com/python/python-tutorial.ht ...
- 201871010111-刘佳华《面向对象程序设计(java)》第二周学习总结
201871010111-刘佳华<面向对象程序设计(java)>第二周学习总结 项目 内容 这个作业属于哪个课程 <https://www.cnblogs.com/nwnu-daiz ...
- linux中以.d结尾的目录
一般为了保持对原有配置方式的兼容,而增加的.d结尾目录. 如: /etc/X11/xorg.conf 这原本是个文件,现在也有了一个/etc/X11/xorg.conf.d这样的目录,显卡驱动的相关设 ...
- 6.Go-错误,defer,panic和recover
6.1.错误 Go语言中使用builtin包下error接口作为错误类型 Go语言中错误都作为方法/函数的返回值 自定义错误类型 //Learn_Go/main.go package main imp ...