当前位置: 首页 > news >正文

Day42Dataset和Dataloader

1.Dataset类:“存数据的容器”

你可以把它理解成一个数据盒子,里面装着你的数据集(比如图片、标签)。要让这个 “盒子” 能用,得给它加两个 “功能按钮”(Python 的特殊方法):

  • __getitem__(self, idx):按索引idx取数据(比如dataset[0]就能拿到第 1 个样本)。
  • __len__(self):返回数据集的总样本数(比如len(dataset)知道一共有多少数据)。

2.DataLoader类:“给模型端菜的服务员”

Dataset是 “装菜的盘子”,DataLoader就是 “把菜分成小份、端给模型吃” 的人。它的作用是:

  • Dataset里的数据分成批次(比如一次给模型喂 32 个样本,而不是全塞进去)。
  • 支持打乱数据(避免模型学 “顺序” 而不是 “规律”)。
  • 支持多线程加载(加快数据读取速度)。

3. MNIST 手写数据集

这是一个 “手写数字图片集”,里面是 0-9 的手写数字(每张图是 28x28 的黑白色),是深度学习入门常用的 “练习数据集”。

作业:获取 CIFAR 数据集的一张图片

import torch from torchvision import datasets, transforms import matplotlib.pyplot as plt # 1. 加载CIFAR数据集(自动下载到本地) transform = transforms.ToTensor() # 把图片转成PyTorch能处理的格式 cifar_dataset = datasets.CIFAR10(root='./data', train=True, download=True, transform=transform) # 2. 取第1张图和它的标签 img, label = cifar_dataset[0] # 用Dataset的__getitem__取数据 # 3. 显示图片 plt.imshow(img.permute(1, 2, 0)) # 调整格式(PyTorch是[通道,高,宽],plt需要[高,宽,通道]) plt.title(f"Label: {label}") # 显示标签(CIFAR10的标签是0-9,对应不同类别) plt.show()

@浙大疏锦行

http://www.cnnetsun.cn/news/163018.html

相关文章:

  • Zed编辑器插件生态:完整指南与开发实战
  • CppMicroServices 终极指南:5步掌握C++模块化开发
  • SVG转Canvas渲染引擎终极指南:从零到精通的完整教程
  • Browser-Use Web-UI完全指南:让AI智能体在浏览器中自主工作的终极方案
  • Langchain-Chatchat科研辅助系统构建:论文资料智能问答平台
  • FastAPI蓝绿部署实战指南:实现零停机更新
  • Langchain-Chatchat能否支持视频文档解析?多媒体处理展望
  • 如何在3天内用TFLearn构建医疗AI预测模型:完整指南
  • 【第1章·第8节】自适应MPC控制器的simulink建模与仿真
  • C# 简介
  • S3Proxy加密机制深度解析:透明安全的云端数据保护方案
  • 如何用NixOS和Hyprland构建终极Linux桌面:完整配置指南
  • Erda云原生平台全面使用指南:从入门到精通
  • DeepSeek 快速生成周报与任务汇报:实习生的模板化效率指南
  • Dragonboat流控机制:构建亿级用户系统的稳定基石
  • 如何从零开始构建HTML验证工具:gumbo-parser终极指南
  • Langchain-Chatchat自动摘要生成能力拓展实验
  • 23.11.MQTT协议
  • Langchain-Chatchat代码规范查询:团队统一编码风格指南
  • EasyFlash:嵌入式设备数据存储的终极解决方案
  • TransmittableThreadLocal终极指南:彻底解决异步编程中的上下文传递难题
  • 韩国大学团队破解全球船舶智能追踪难题:让大海不再是信息黑洞
  • 腾讯AI团队突破:让AI学会自我指导,解决智能推理的根本难题
  • miniaudio音频库:C语言开发者的终极音频处理解决方案
  • Langchain-ChatchatAPI文档生成:Swagger注解自动转说明
  • S7-1500PLC Modbus-RTU通信终极指南:快速掌握工业自动化通信技术
  • Langchain-Chatchat负载均衡配置:应对高并发访问场景
  • JTAppleCalendar:iOS开发者的终极自定义日历解决方案
  • Langchain-Chatchat企业文化问答:使命愿景价值观解读
  • 如何快速部署Instinct代码编辑模型:面向开发者的完整实战指南