- Dataset 类的__getitem__和__len__方法
Dataset是 PyTorch 中封装数据的抽象类,需自定义子类并实现两个核心方法。
len():返回数据集的总样本数(告诉Dataloader数据集有多大);
getitem(idx):根据索引idx返回对应的样本(特征 + 标签),支持按索引取数据。

- Dataloader 类
Dataloader是 PyTorch 中加载数据的工具,基于Dataset实现。
功能:批量加载数据、打乱数据、多线程加载
核心参数:
dataset:传入自定义的Dataset对象;
batch_size:每个批次的样本数;
shuffle:是否打乱数据(训练集设为True,测试集设为False);
num_workers:多线程加载的进程数(加速数据读取)。

- MNIST 手写数据集
MNIST 是手写数字图像数据集,常用于图像分类入门,PyTorch 中可通过torchvision.datasets.MNIST直接加载。

作业:
CIFAR 数据集介绍
CIFAR 是彩色图像分类数据集,分为 CIFAR-10(10 个类别)和 CIFAR-100(100 个类别):
CIFAR-10 包含:飞机、汽车、鸟、猫等 10 类物体;
图像规格:32×32 像素的彩色图(3 通道:RGB);
数据量:50000 张训练图、10000 张测试图。
