torchvision数据集及DataLoader的使用

发布时间:2026/10/29 13:10:13

torchvision数据集及DataLoader的使用 本文主要介绍torchvision内置数据集及DataLoader使用文章目录一、CIFAR10 数据集初识举例1.一句话理解2.CIFAR10 数据档案3.数据集下载二、查看数据集内容1.基本操作2.数据结构三、与 transforms 联动四、DataLoader — 从一副牌到一手牌1.为什么要 DataLoader2.基本用法五、DataLoader 参数速查表总结一、CIFAR10 数据集初识举例1.一句话理解以前要手动写 Dataset 类现在 torchvision 帮你把常用数据集都封装好了一行代码下载 加载。2.CIFAR10 数据档案属性数值总样本数60,000 张训练集 / 测试集50,000 / 10,000图像尺寸32×32 像素RGB 三通道类别10 类飞机、汽车、鸟、猫、鹿、狗、青蛙、马、船、卡车3.数据集下载importtorchvision animals_transformtorchvision.transforms.Compose([torchvision.transforms.ToTensor()])train_settorchvision.datasets.CIFAR10(root./animals,#存在哪trainTrue,## True训练集, False测试集downloadTrue)# 自动下载已有则跳过test_settorchvision.datasets.CIFAR10(root./animals,trainFalsedownloadTrue)参数含义root数据集存放目录trainTrue 训练集 / False 测试集downloadTrue 自动下载transform预处理转换二、查看数据集内容1.基本操作代码如下示例# 查看所有类别名print(test_set.classes)# [airplane, automobile, bird, cat, deer,# dog, frog, horse, ship, truck]# 取第 0 个样本img,targettest_set[0]print(img)# PIL.Image.Image modeRGB size32x32print(target)# 3数字标签print(test_set.classes[target])# catimg.show()# 弹窗显示图片2.数据结构test_set[0] → (PIL图片, 数字标签)↓ ↓32×32 RGB 0~9 整数三、与 transforms 联动CIFAR10 给的是 PIL Image必须转成 Tensor 才能训练。fromtorchvisionimporttransforms# 定义转换管道dataset_transformtransforms.Compose([transforms.ToTensor()# PIL → Tensor (C, H, W)])# 下载时直接应用 transformtrain_settorchvision.datasets.CIFAR10(root./dataset,trainTrue,transformdataset_transform,# ← 关键参数downloadTrue)CIFAR10 原始数据 (PIL) ──transform──▶ Tensor (可直接训练)四、DataLoader — 从一副牌到一手牌1.为什么要 DataLoaderDataset一副牌DataLoader抓牌器告诉你总共有多少张牌每次抓多少张batch_size可以一张一张拿是否洗牌shuffle返回 (图片, 标签)返回批量 (图片们, 标签们)模型不吃一张图要吃一批图。DataLoader 就是那个打包工人。2.基本用法fromtorch.utils.dataimportDataLoader test_loaderDataLoader(datasettest_data,batch_size64,# 一次抓 64 张shuffleTrue,# 打乱顺序num_workers0,# Windows 下必须设为 0drop_lastFalse# 最后不足 64 张也保留)遍历 DataLoaderforimgs,targetsintest_loader:print(imgs.shape)# torch.Size([64, 3, 32, 32])print(targets.shape)# torch.Size([64])break结合 TensorBoard 可视化fromtorch.utils.tensorboardimportSummaryWriter writerSummaryWriter(dataloader_logs)forepochinrange(2):# 跑两轮观察 shuffle 效果forstep,(imgs,targets)inenumerate(test_loader):writer.add_images(fEpoch_{epoch},imgs,step)writer.close()终端输入tensorboard --logdirdataloader_logs五、DataLoader 参数速查表参数作用建议值dataset指定数据集必填batch_size每批多少张图32 / 64 / 128shuffle是否打乱训练True测试Falsenum_workers多进程加载Windows 必须设为 0drop_last丢弃最后不完整的 batch一般 False总结本文主要介绍了怎么使用torchvision的数据集以及DataLoader。
延伸阅读

更多相关文章

2026/10/25 3:05:12

IntelliJ IDEA 之创建工程

新建项目 图片 如上图所示,在欢迎界面点击“新建项目”按钮。 提示:如果在某个项目的界面中,可以通过关闭项目,回到欢迎界面。 图片 1.2、选择创建空项目 图片 如上图所示,选择创建一个空项目作为父工程。 1.3、创建空…

2026/10/28 23:10:09

几何中位数:鲁棒空间聚合的核心算法与工程落地

1. 什么是几何中位数:一个被低估却无处不在的统计核心“几何中位数”这四个字听起来像数学课上一闪而过的术语,但如果你正在处理GPS轨迹纠偏、医学图像配准、多传感器融合定位,或者哪怕只是在做一份城市共享单车调度热力图的异常点清洗——你…

2026/10/28 2:05:01

血清微量元素建模实战:为何对数转换与LMM诊断比p值更重要

1. 项目概述:一头奶牛、一管血清与一场现实世界的建模突围战你手头有一批来自奶牛的血清检测数据——锌(Zn.ppm)和铜(Cu.ppm)浓度,时间跨度覆盖多个采样日,实验设计是典型的随机区组&#xff08…

2026/10/29 13:06:02

AMT630A_FPV原理图详解:供电、信号与地隔离设计核心

简介:本资源为AMT630A_FPV专用原理图PDF文件,面向嵌入式硬件工程师、FPV飞控开发者及无人机视频传输系统设计人员,解决FPV设备底层电路设计与芯片外围接口适配问题。图纸基于AMT630_FPV_SDK开发,完整呈现以AMT630A为核心芯片的1S锂…

2026/10/29 13:06:02

Bigbytes Elementor Kit评测:大数据可视化WordPress解决方案

1. Bigbytes Elementor Kit深度评测:开发者视角的大数据设计解析 作为一名长期深耕WordPress生态的开发者,第一次接触Bigbytes Elementor Kit时就被其"大数据设计"的定位所吸引。这个面向企业级用户的模板套件,号称能帮助非技术人员…

2026/10/29 13:06:02

Rust自定义Traits:核心概念与高级实践指南

1. 理解自定义类型 Traits 的核心概念 在编程语言设计中,Traits(特性)是一种强大的代码复用机制,它允许开发者定义一组可复用的方法集合,这些方法可以被多个类型共享,而无需使用传统的继承机制。自定义类型…

2026/10/29 13:06:02

US94061高侧电源开关芯片原理与选型指南

简介:本资源为友顺UTC(UNISONIC)官方发布的US94061高侧负载开关芯片数据手册PDF,面向电子设计工程师、硬件开发人员及嵌入式电源管理方向的学习者,解决便携设备中高效、低功耗电源通断控制与电平转换的设计难题。手册完…

2026/10/29 13:06:02

Windows系统盘空间不足的全面解决方案

1. 问题背景与现象诊断 当Windows系统盘(通常为C盘)空间告急时,系统会变得异常卡顿,甚至出现程序无法启动、更新失败等连锁反应。根据我多年处理此类问题的经验,C盘爆满通常呈现以下典型症状: 系统频繁弹出…

2026/10/29 12:55:37

React中token管理与useMemo误用的真相:拆解caveman幻觉

1. “caveman”不是项目名,而是React开发中一个被严重误读的隐喻陷阱 最近在几个前端技术群和面试复盘帖里反复看到这个词——“caveman”,搭配着 token 、 useMemo 、 npx 、 React 一起出现,甚至有候选人直接在简历里写“熟悉 cave…

2026/10/28 14:42:12

全国计算机二级C语言真题PDF高效刷题指南

简介:这份PDF是全国计算机二级C语言考试的试题与答案解析,专为备考二级C语言的考生准备。内容涵盖C语言特点与设计理念、程序基本组成单位、main函数执行流程、函数嵌套调用规则、标识符命名规范、整型实型字符型数据类型、八进制十六进制数合法形式、运…

2026/10/28 15:28:56

requests+BeautifulSoup:爬虫抓取h1标题的入门实战指南

简介:一份以实战为导向的Python爬虫入门资源,面向具备基本编程基础、希望快速掌握网络数据抓取的初学者,可解决从零编写简单爬虫的常见困惑。实例以requests库发送HTTP请求、BeautifulSoup解析HTML文档,完整演示从网页中提取 标题…

2026/10/28 3:32:29

递推最小二乘参数辨识MATLAB编程:二阶系统与渐消记忆实现

简介:这是一篇面向控制系统、信号处理与机器学习等领域学习者的最小二乘参数辨识程序说明文档。资源共包含一个docx格式文档,压缩包大小七十八KB,内容围绕递推最小二乘算法和渐消记忆最小二乘算法展开:先构造一个极点位于单位圆内…

2026/10/29 0:03:42

学生选课系统DFD图绘制指南:边界划分与分层校验实战

简介:文档以顶层与第一层DFD图为核心,完整刻画学生选课系统的逻辑模型,面向软件工程课程设计、系统分析学习及毕设前期建模人群。顶层图界定系统边界,外部实体包括管理员、教师和学生三类角色;第一层图进一步细化用户登…

2026/10/29 0:03:42

JIRA敏捷落地:Scrum角色权限、Sprint与燃尽图避坑指南

简介:围绕“基于JIRA的敏捷开发项目管理”这一主题,面向产品负责人、Scrum Master及研发测试成员,梳理Scrum角色分工、迭代流程与JIRA工具配置的对应关系,适合初、中级团队导入敏捷管理时参考。压缩包共1个docx文件,大…

2026/10/29 0:03:42

SEMI S8人机工程验收实战:从条款拆解到现场实测的完整指南

简介:面向半导体设备设计、制造与运维工程师及安全合规人员,这份资料聚焦SEMI标准体系下的设备安全规范,重点收录SEMI S8-0308《半导体制造设备人体工程学工程安全指南》。内容围绕设备设计原则、错误与事故预防、人体工程学适配三大主线展开…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑