news 2026/1/20 6:44:20

Day42Dataset和Dataloader

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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()

@浙大疏锦行

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/1/10 10:56:15

PostHog容器化部署完整教程:从零构建数据分析平台

PostHog容器化部署完整教程:从零构建数据分析平台 【免费下载链接】posthog 🦔 PostHog provides open-source product analytics, session recording, feature flagging and A/B testing that you can self-host. 项目地址: https://gitcode.com/GitH…

作者头像 李华
网站建设 2026/1/14 11:31:30

Laravel Mix 前端资源管理终极指南:简单高效的自动化构建方案

Laravel Mix 前端资源管理终极指南:简单高效的自动化构建方案 【免费下载链接】laravel-mix 项目地址: https://gitcode.com/gh_mirrors/lar/laravel-mix 前端开发中,静态资源管理一直是个令人头疼的问题。如何优雅地处理文件复制、版本控制和缓…

作者头像 李华
网站建设 2025/12/23 12:01:11

ATmega328微控制器终极配置指南:从新手到专家的快速上手教程

ATmega328微控制器终极配置指南:从新手到专家的快速上手教程 【免费下载链接】DIY-Multiprotocol-TX-Module Multiprotocol TX Module (or MULTI-Module) is a 2.4GHz transmitter module which controls many different receivers and models. 项目地址: https:/…

作者头像 李华
网站建设 2025/12/23 9:35:47

Langchain-Chatchat API接口文档自动生成方案

Langchain-Chatchat API接口文档自动生成方案 在企业级AI应用日益普及的今天,如何在保障数据安全的前提下,快速构建可维护、易协作的智能系统,成为开发者面临的核心挑战。尤其在金融、医疗、法律等对隐私要求极高的领域,传统的云端…

作者头像 李华
网站建设 2025/12/24 2:32:43

高效制作WingetUI离线安装包的完整指南

高效制作WingetUI离线安装包的完整指南 【免费下载链接】WingetUI WingetUI: A better UI for your package managers 项目地址: https://gitcode.com/GitHub_Trending/wi/WingetUI 如何在无网络环境下快速部署WingetUI这款强大的包管理器图形界面工具?这是许…

作者头像 李华