CIFAR(Canadian Institute for Advanced Research)系列数据集是由 Alex Krizhevsky、Vinod Nair 与 Geoffrey Hinton 等人在 2009 年基于 MIT Tiny Images 项目整理的图像分类基准。它们提供了 32 × 32 像素、RGB 三通道 的小尺寸彩色图像,专为评估卷积神经网络(CNN)等视觉模型的分类能力而设计。两者的主要区别在于 类别数量:CIFAR‑10 包含 10 类,CIFAR‑100 包含 100 类(进一步划分为 20 个超类)。
1. CIFAR‑10
| 项目 | 内容 |
|---|---|
| 总图像数 | 60 000 张(训练 50 000,测试 10 000) |
| 每类图像数 | 6 000 张(训练 5 000,测试 1 000) |
| 图像尺寸 | 32 × 32 × 3(RGB) |
| 类别 | 飞机、汽车、鸟、猫、鹿、狗、青蛙、马、船、卡车(10 类) |
| 文件格式 | Python pickle(data_batch_*、test_batch)以及 MATLAB、C 版本 |
| 难度 | 相比 MNIST,图像更复杂、噪声更大,线性模型表现差,常用于 CNN、ResNet、Vision Transformer 等深度模型的基准测试 |
典型应用:模型结构验证、数据增强实验、对抗样本研究、迁移学习基准等。
2. CIFAR‑100
| 项目 | 内容 |
|---|---|
| 总图像数 | 60 000 张(训练 50 000,测试 10 000) |
| 每类图像数 | 600 张(训练 500,测试 100) |
| 图像尺寸 | 32 × 32 × 3(RGB) |
| 类别层次 | 100 个细类(fine label)+ 20 个粗类(coarse label) |
| 文件格式 | 与 CIFAR‑10 相同的 pickle 结构,额外包含 fine_labels 与 coarse_labels |
| 难度 | 类别更多、细粒度更高,常用于评估模型的细分类能力和层次分类方法 |
典型应用:细粒度图像分类、层次学习、模型压缩与剪枝(如在 ResNet‑56 上的剪枝实验)。
3. 下载与使用
- 官方主页(同时提供 CIFAR‑10 与 CIFAR‑100 的下载链接)
- Python / PyTorch / TensorFlow
- 文件结构(原始二进制)
data_batch_1 … data_batch_5(训练)test_batch(测试)batches.meta(类别名称)- CIFAR‑100 额外包含
train、test、meta(含fine_label_names与coarse_label_names)。
4. 常见研究方向
- 模型基准:几乎所有新提出的图像分类网络(ResNet、DenseNet、EfficientNet、Vision Transformer 等)都会在 CIFAR‑10/100 上报告 Top‑1 准确率。
- 数据增强:随机裁剪、水平翻转、颜色抖动等技术在该数据集上验证有效性。
- 对抗鲁棒性:利用 CIFAR‑10‑C、CIFAR‑100‑C 等腐蚀版本评估模型对噪声/攻击的抵抗力。
- 迁移学习:先在 CIFAR‑10/100 上预训练,再迁移到更大规模数据集(如 ImageNet)进行微调。
- 层次分类:CIFAR‑100 的粗细标签为层次学习提供了天然实验平台。
5. 小结
- CIFAR‑10:10 类、每类 6 000 张,适合作为快速原型实验的“玩具”数据集。
- CIFAR‑100:100 类、层次标签,提供更细粒度的挑战,常用于评估模型的细分类与层次学习能力。
- 两者均 公开、免费,官方提供的下载链接可靠,且已被深度学习框架原生支持,几乎是图像分类研究的“标配”。
参考链接
- 官方下载页:https://www.cs.toronto.edu/-kriz/cifar.html
- PyTorch 官方文档(CIFAR‑10/100):https://pytorch.org/vision/stable/datasets.html#cifar10
声明:文章均为AI生成,请谨慎辨别信息的真伪和可靠性!