什么是CIFAR‑10 / CIFAR‑100 数据集

AI解读 7小时前 硕雀
2 0

CIFAR‑10 / CIFAR‑100 数据集概览

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 pickledata_batch_*test_batch)以及 MATLAB、C 版本
难度 相比 MNIST,图像更复杂、噪声更大,线性模型表现差,常用于 CNN、ResNetVision 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
    • torchvision.datasets.CIFAR10(root, download=True, transform=…)
    • torchvision.datasets.CIFAR100(root, download=True, transform=…)
      这些 API 会自动从官方服务器下载并解压,返回 torch.utils.data.Dataset 对象,便于直接在训练循环中使用。
  • 文件结构(原始二进制)
    • data_batch_1 … data_batch_5(训练)
    • test_batch(测试)
    • batches.meta(类别名称)
    • CIFAR‑100 额外包含 traintestmeta(含 fine_label_names 与 coarse_label_names)。

4. 常见研究方向

  1. 模型基准:几乎所有新提出的图像分类网络(ResNet、DenseNetEfficientNet、Vision Transformer 等)都会在 CIFAR‑10/100 上报告 Top‑1 准确率
  2. 数据增强:随机裁剪、水平翻转、颜色抖动等技术在该数据集上验证有效性。
  3. 对抗鲁棒性:利用 CIFAR‑10‑C、CIFAR‑100‑C 等腐蚀版本评估模型对噪声/攻击的抵抗力。
  4. 迁移学习:先在 CIFAR‑10/100 上预训练,再迁移到更大规模数据集(如 ImageNet)进行微调。
  5. 层次分类:CIFAR‑100 的粗细标签为层次学习提供了天然实验平台。

5. 小结

  • CIFAR‑10:10 类、每类 6 000 张,适合作为快速原型实验的“玩具”数据集。
  • CIFAR‑100:100 类、层次标签,提供更细粒度的挑战,常用于评估模型的细分类与层次学习能力。
  • 两者均 公开、免费,官方提供的下载链接可靠,且已被深度学习框架原生支持,几乎是图像分类研究的“标配”。

参考链接

来源:www.aiug.cn
声明:文章均为AI生成,请谨慎辨别信息的真伪和可靠性!