发布时间:2026/9/3 3:17:05
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/9/1 19:46:14

IntelliJ IDEA 之创建工程

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

2026/9/1 15:32:52

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

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

2026/9/2 15:08:01

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

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

2026/9/3 3:12:16

AI内容检测规避技术:API接口实现朱雀AI检测率降低方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/3 3:12:16

清桌面整理:手帐胶带收纳与库存管理指南

最近整理桌面的时候,被一抽屉手帐胶带劝退了:有的拆了包装没贴完,有的买回来就忘了型号,还有几卷不知道什么时候入的“同色系换皮款”。真正想贴个手帐时,却连一卷顺手的都找不到。后来花了一整天做了一次彻底的“清桌…

2026/9/3 3:12:16

Python+Appium实战:从环境搭建到构建企业级APP自动化框架

做企业级 APP 自动化测试时,最常见的评估标准不是“脚本能跑”,而是“换一台设备能不能跑、换一个版本能不能维护、失败之后能不能快速定位”。Python Appium 是当前测试开发岗位中非常常见的技术组合,而拿一款真实电商应用作为练习对象&…

2026/9/3 3:12:16

机器学习入门实战:六大经典算法代码精讲与避坑指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/3 3:12:16

宇树四足机器人消防方案:背负水炮与耐高温技术拆解

这是一套基于宇树四足机器人平台衍生的消防应急技术方案拆解,适合机器人开发者、应急行业技术选型人员以及刚接触足式机器人的爱好者。文章重点不会堆参数,而是把“背负水炮”“耐高温改造”“人机协同”“现场排错”这些概念还原成技术问题和工程步骤。…

2026/9/3 3:07:16

ncurses 6.2 开发实战:从RAR包到终端交互界面构建

简介:ncurses-6.2 是经典的终端文本界面开发库完整资源包,面向 Linux/Unix 下需要编写命令行交互程序、菜单表单或系统管理 TUI 的开发者与运维人员。相比旧版 curses,该版本在国际化、线程安全以及新型终端支持上均有改进,既适合…

2026/9/1 16:02:17

vSound小提琴数字处理器实操指南:从接线到演出的完整配置

电小提琴或者原声小提琴插电演出,第一个绕不开的坎就是声音难听。原声琴的共鸣和空气感一旦进了拾音器,出来的往往是一坨干瘪、发尖、带着奇怪塑料味的信号。我当初第一次把琴接上乐队调音台,直接被主唱吐槽"你这声音像在锯钢丝"。…

2026/9/2 9:00:32

传感器接口IC如何攻克生物化学传感的微弱信号难题?

1. 从电极到比特流:为什么生物化学传感必须依赖专用接口IC 做生物化学传感的人都有过类似的经历:明明传感器本身性能很好,信号输出却一塌糊涂——噪声大、漂移明显、重复性差,怎么调都达不到预期。很多时候问题并不在传感器&#…

2026/9/2 8:41:06

STM32F411CEU6多通道ADC采集:扫描模式+DMA实现详解

1. 多通道 ADC 的用武之地把“Multichannel ADC”和“STM32F411CEU6”这两个关键字放在一起,其实就是嵌入式开发里最常遇到的一类需求:用一块不算贵的 MCU,同时采集多路模拟信号。STM32F411CEU6 是 48 引脚的 Cortex-M4F 主控,主频…

2026/9/3 0:02:06

零基础装 OpenClaw 小龙虾 AI:Windows 一键部署教程与避坑要点

Windows 部署 OpenClaw 完整教程|本地 AI 智能体 5 分钟落地,环境配置一次搞定 版本说明:Windows 3.1.0 / Mac 2.7.9 写在前面 近两年开源 AI 领域有一款被称作「数字员工」的工具持续走热,它就是 OpenClaw,圈内人更习…

2026/9/3 0:02:06

Hermes Agent 本地部署新方案:Windows 整合包减少依赖报错

Windows 本地部署 Hermes 太麻烦?这版一键包 5 分钟快速跑通 很多人想体验 Hermes Agent,但真正开始部署时,往往会卡在环境配置这一步。 需要安装各类依赖、调试运行环境、处理路径问题,还容易遇到命令行报错、系统拦截、文件缺…

2026/9/3 0:02:06

实测 OpenClaw 一键包,5 分钟完成本地自动化环境搭建

OpenClaw 本地 AI 自动化工具部署指南|使用一键包规避环境配置难题 痛点:部署 AI 自动化工具常常要处理 Python、Node.js 各类依赖,版本冲突、环境配置耗费大量时间,OpenClaw 提供一键安装包,降低部署门槛。 适配系统&…

2026/9/2 1:15:22

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/2 1:15:22

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/2 1:15:20

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…