【深度学习】torch.utils.data.DataLoader相关用法 | dataloader数据加载器 | pytorch

news2025/7/7 3:47:12

文章目录

  • 前言
  • 一、DataLoader介绍
  • 二、DataLoader的子方法(可调用方法)


前言

dataloader数据加载器属于是深度学习里面非常基础的一个概念了,基本所有的图像项目都会用上,这篇博客就把它的相关用法总结一下。
之所以要写这篇,是想分清楚len(data_loader)和len(data_loader.dataset)

一、DataLoader介绍

这里加载的数据我们以Mnist手写数据集为例子

import torch.utils.data as Data
import torchvision
from torchvision import transforms

data = torchvision.datasets.MNIST(
    'data',  #目标数据集路径
    train=True,  # 只使用train数据
    transform=transforms.ToTensor(),#图像预处理,转为张量,并将像素值转到0-1
    download=True)

data_loader=Data.DataLoader(
    dataset=data,
    batch_size=32,
    shuffle=True,
    num_workers=0
)

torchvision.datasets.MNIST是用来加载自带数据包,这里不在多说了。
我们主要看下面的Data.DataLoader
1)dataset指需要用数据加载器加载的数据,即上面的data
2) batch_size指每一批次图像的数量
3) shuffle指是否打乱
4)num_workers 进程数 我一般设为0,不然很可能报错

二、DataLoader的子方法(可调用方法)

紧接着上面的方法,我们进行一些操作,进一步了解DataLoader
1)data_loader整体打印

print(data_loader)

在这里插入图片描述
2)数据加载器一共被分成了多少块(batch_size个图像为一块)

print(len(data_loader))

在这里插入图片描述
1875×32=60000
3)data_loader.dataset

print(data_loader.dataset)

在这里插入图片描述
如果我们换一种:len(data_loader.dataset)

print(len(data_loader.dataset))

在这里插入图片描述
这里展示了整个数据集里图像的个数。 注意和len(data_loader)区别开,这也是我写这篇博客的原因。
4)打印数据加载器之前设定的batch_size

print(data_loader.batch_size)

在这里插入图片描述

5)打印数据加载器之前设定的进程数

print(data_loader.num_workers)

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/18529.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

1-1 开源许可证GPL, BSD, MIT, Mozilla, Apache, LGPL的介绍

文章目录前言开源许可证由来开源许可证类型开源许可证介绍GPL协议BSD协议MIT协议Mozilla许可Apache协议LGPL开源协议前言 开源许可证(Open source licenses),广义来讲是指一种被用于计算机软件或其他产品的,允许在指定的条款内使…

zMemif: go语言高性能网络库

简介 开发zMemif的主要动机是go有很高的处理能力,但是内置的udp库的确有些寒酸, 纯c开发效率又有些低,虽然可以用nff-go来实现go和dpdk的融合,但是cgo编译的确有点烦人,而且这个项目似乎也死了。然后考虑到容器的场景…

单点登录以及实现(前后端分离和前后端不分离方式)

本文主要使用springSecurity来实现,其他实现请参照其原理自行研究。 一,单系统登录机制 1、http无状态协议 web应用采用browser/server架构,http作为通信协议。http是无状态协议,浏览器的每一次请求,服务器会独立处…

谷粒学院(三) 项目前端知识

一、VS Code 1、插件安装 为方便后续开发,建议安装如下插件(红色矩形框标记的插件)2、创建项目 vscode本身没有新建项目的选项,所以要先创建一个空的文件夹,如project_xxxx。 然后打开vscode,再在vscode里面…

二维随机向量的数学期望E与协方差σ

目录 1. 二维随机向量(X,Y)的数学期望EX, EY 2. 二维随机向量函数zg(X,Y)的数学期望EZ 3. 二维随机向量(X,Y)的方差DX, DY 4. 二维随机向量的性质(和、积的数学期望E与方差D) 5. 二维随机向量的协方差COV和相关系数ρ 5.1 协方差COV定义 5.2 协方…

私有数据传参

在串口工具进行输入: echo 1 > /dev/myled0 ---->led1灯点亮 echo 0 > /dev/myled0 ---->led1灯熄灭 echo 1 > /dev/myled1 ---->led1灯点亮 echo 0 > /dev/myled1 ---->led1灯熄灭 echo 1 > /dev/myled2 ---->led1灯点亮 echo 0 >…

java计算机毕业设计springboot+vue员工管理系统

项目介绍 本员工管理系统是针对目前村委会管理的实际需求,从实际工作出发,对过去的员工管理系统存在的问题进行分析,完善用户的使用体会。采用计算机系统来管理信息,取代人工管理模式,查询便利,信息准确率高,节省了开支,提高了工作的效率。 本系统结合计算机系统的结构、概念、…

无线蓝牙耳机什么牌子好一点?2022年蓝牙耳机推荐

喜欢听音乐,自然离不开耳机的支持,一款优质且时尚的耳机,能够带来极致的音效,可是该如何选择合适的耳机,成为了摆在眼前一个很重要问题如果这个问题一直萦绕在你的脑海中,那么下面的选择相信定不会错。 TO…

多线程异步方法Spring Security框架的SecurityContext无法获取认证信息的原因及解决方案

Spring Security是Spring生态提供的用户应用安全保护的一个安全框架,其提供了一种高度可定制的实现身份认证(Authentication),授权(Authorization)以及对常见的web攻击手段做防护的方法。 之前我的博客Oauth2与Spring Security框架…

章鱼网络 Community Call #4|推进章鱼社区治理

全长5922字,预计阅读 15 分钟 撰文:MiX 微信交流:MixMetaverse 北京时间2022年11月8日21点,章鱼网络举行第4期 Community Call,10月8日是章鱼一周年庆典,所以本次 Community Call 我们讨论了最近2个月内很…

git可视化工具-sourceTree

1. 下载 官网的下载地址,可以根据自己的电脑操作系统选择合适的版本下载,我下载的是windows版本 Sourcetree | Free Git GUI for Mac and Windows A Git GUI that offers a visual representation of your repositories. Sourcetree is a free Git clie…

ArcGIS提取图斑四至点,可不再是四至范围哦

上一期我们向大家介绍了 ArcGIS计算图斑四至坐标原来这么简单!可不要在走弯路哦_GIS思维的博客-CSDN博客​​ArcGIS计算图斑四至坐标原来这么简单!可不要在走弯路哦https://blog.csdn.net/kinghxj/article/details/127941005 今天我们要向大家介绍一下 …

Gem5 for Ubuntu20.04

一、安装Ubuntu 参考教程:史上最全最新Ubuntu20.04安装教程(图文) - 知乎 (zhihu.com) 1. 查看Ubuntu版本号命令: lsb_release -a 显示如下: Distributor ID: Ubuntu //类别是ubuntu Description: Ubuntu 2…

LeetCode力扣刷题——指针三剑客之二:树

树 一、数据结构介绍 作为(单)链表的升级版,我们通常接触的树都是二叉树(binary tree),即每个节点最多有 两个子节点;且除非题目说明,默认树中不存在循环结构。LeetCode 默认的树表示…

树的孩子兄弟链存储表示创建、遍历等算法

【实验目的】 1. 掌握树的孩子兄弟链存储表示。 2. 掌握树的创建、遍历等算法。 【问题描述】 树的创建及其操作。 【基本要求】 1. 创建树的孩子兄弟链式存储表示。假设以二元组(F,C)的形式输入一颗树的诸边,其中F表示双亲结点标识,C表示孩子结点…

python的opencv操作记录(九)——图像清晰度计算

文章目录图像清晰度计算的一般思路图像梯度图像梯度绝对值与梯度角度基于梯度的方式计算梯度算子1——Sobel算子计算梯度算子2——Laplacian算子梯度统计评分平均梯度梯度总和Demo图像清晰度计算的一般思路 定义图像清晰度是一个比较定制化,或者说比较偏业务属性的…

MySql面试

0. InnoDB与MyISAM的区别 1)InnoDB支持事务,MyISAM不支持,对于InnoDB每一条SQL语言都默认封装成事务,自动提 交,这样会影响速度,所以最好把多条SQL语言放在begin和commit之间,组成一个事务&…

【Vue3+TS】Axios拦截器封装及跨域 [cors] 解决方案

【Vue3TS】Axios拦截器封装及跨域 [cors] 解决方案简述封装过程文件路径拦截器封装 —— Interceptor.tsAPI请求管理前端跨域的解决方案后端跨域的解决方案效果结语简述 我的项目采用 Vue3TypeScriptViteElement Plus 的组合,这个组合也是Vue版本退出3.x后官方推荐版…

记一次服务宕机、优化全流程(以后也可以装X了)

视频地址: https://www.bilibili.com/video/BV1924y1y7jN 221115上午10点的时候客户反应进入小程序慢,打开监控发现服务pv已经超过了历史之最(印象中最高的是100w),这次到了400w。原因是因为推广了一个发红包的活动。 …

Java练习题第二十七期:幸运的袋子

作者:有只小猪飞走啦 博客地址:文章目录前言一,题目二,解析三,代码前言 本博客是小博主在做Java算法题的过程中一些觉得可以分享的题目,希望对你们有帮助,如果哪里写错了或者有更好的解法&…