Ultralytics YOLO27:
Get Started
No license

CIFAR-100 数据集#

CIFAR-100(加拿大高级研究所)数据集是图像分类基准,包含 60,000 张 32x32 彩色图像,均匀分布在 100 个细粒度类别中(每类 600 张),这些类别又分为 20 个粗粒度超类。该数据集由 Alex Krizhevsky 创建,提供预定义划分,包含 50,000 张训练图像和 10,000 张测试图像,是 CIFAR-10 数据集更具挑战性、类别划分更精细的同系列数据集。

在 Ultralytics Platform 上探索 CIFAR-100,即可预览样例、查看数据集统计信息,并克隆数据集用于训练。



观看: 如何使用 CIFAR-100 数据集和 Ultralytics YOLO 训练图像分类模型

主要功能#

  • CIFAR-100 包含 60,000 张 32x32 像素的彩色图像,均匀分为 100 个类别。
  • 每个类别恰好包含 600 张图像,其中 500 张用于训练,100 张用于测试,因此该数据集完全均衡。
  • 这 100 个细粒度类别分为 20 个粗粒度超类,以支持更高层级的分类。
  • 该数据集提供预定义的训练集/测试集划分,因此无需手动或自动划分。
  • CIFAR-100 是细粒度图像分类和对象识别研究的标准基准。

数据集结构#

CIFAR-100 提供官方预定义划分,因此无需自动或手动划分:

  • 类别:100 个细粒度类别,分为 20 个粗粒度超类
  • 图像总数:60,000(32x32 彩色图像)
  • 训练集:50,000 张图像(每类 500 张)
  • 测试集:10,000 张图像(每类 100 张)
验证集

CIFAR-100 没有单独的验证文件夹,因此默认情况下,Ultralytics 会在训练期间将包含 10,000 张图像的测试集用作验证集。使用 data="cifar100" 训练可学习这 100 个细粒度类别。

应用场景#

CIFAR-100 广泛用于训练和评估图像分类模型,涵盖经典的卷积神经网络 (CNNs)、支持向量机 (SVMs)以及现代深度架构。其 100 个细粒度类别和较小的图像尺寸,使其成为机器学习研究、算法比较和计算机视觉实验的一项高难度基准。

用法#

在 CIFAR-100 上训练 YOLO 模型 100 个训练轮次,图像尺寸设为 32。有关可用参数的完整列表,请参阅训练页面和图像分类任务指南。

训练示例
from ultralytics import YOLO

# 加载模型
model = YOLO("yolo26n-cls.pt")  # 加载预训练模型(推荐用于训练)

# 训练模型
results = model.train(data="cifar100", epochs=100, imgsz=32)

示例图像和标注#

CIFAR-100 数据集示例图像:

CIFAR-100 图像分类数据集示例

这些示例展示了 CIFAR-100 数据集中对象的多样性,凸显了多样化数据集对于训练稳健图像分类模型的价值。

引用与致谢#

如果你在研究或开发工作中使用 CIFAR-100 数据集,请引用以下论文:

引用格式
@TECHREPORT{Krizhevsky09learningmultiple,
            author={Alex Krizhevsky},
            title={Learning multiple layers of features from tiny images},
            institution={},
            year={2009}
}

我们谨向 Alex Krizhevsky 致谢,感谢他创建并维护 CIFAR-100 数据集,为机器学习和计算机视觉研究社区提供了宝贵资源。有关 CIFAR-100 数据集及其创建者的更多信息,请访问 CIFAR-100 数据集网站。

常见问题#

  • CIFAR-100 数据集广泛用于训练和评估细粒度图像分类及对象识别模型。它包含 60,000 张 32x32 彩色图像,分属 100 个类别,这些类别又归入 20 个超类,因此相比 CIFAR-10,它对卷积神经网络 (CNNs)、支持向量机 (SVMs) 等算法,以及使用 Ultralytics YOLO 构建的深度学习模型评估而言,都是更具挑战性的基准。

  • 要在 CIFAR-100 上训练 Ultralytics YOLO 模型,请使用下面的代码片段。数据集会在首次使用时自动下载。有关参数的完整列表,请参阅模型的训练页面。

    训练示例
    from ultralytics import YOLO
    
    # 加载模型
    model = YOLO("yolo26n-cls.pt")  # 加载预训练模型(推荐用于训练)
    
    # 训练模型
    results = model.train(data="cifar100", epochs=100, imgsz=32)
  • CIFAR-100 有 100 个细粒度类别,例如苹果、海豚、枫树、摩托车和火箭,每类恰好有 600 张图像,总计 60,000 张图像。这 100 个类别还归入 20 个粗粒度超类(例如,“树木”超类包括枫树、橡树、棕榈树、松树和柳树)。使用 data="cifar100" 训练时会采用这 100 个细粒度类别。

  • CIFAR-100 附带预定义的数据划分:50,000 张训练图像和 10,000 张测试图像,每个类别恰好有 500 张训练图像和 100 张测试图像。与由 Ultralytics 自动划分的基于文件夹的分类数据集不同,CIFAR-100 使用官方划分,不作更改;默认情况下,训练时会将测试集用作验证集。

  • 可以。Ultralytics Platform让你无需编写大量代码即可管理数据集、训练图像分类模型并部署模型。它是在云端运行 CIFAR-100 实验的便捷方式,你还可以在我们的分类数据集概览中了解更多选项。

评论