Ultralytics YOLO27:
Get Started

ImageNette 数据集#

ImageNette 数据集是 ImageNet 的一个子集,包含 10 个易于区分的类别,由 fast.ai 创建,旨在为软件开发和教育提供更快捷、更易用的 ImageNet 版本。它包含 13,394 张彩色图像——9,469 张用于训练,3,925 张用于验证——类别包括丁鲷、英国史宾格犬、盒式磁带播放器和法国号等,因此图像分类模型只需几分钟即可完成训练,而完整的 1,000 类 ImageNet 则需要数小时。

主要功能#

  • ImageNette 包含 10 个类别的 13,394 张图像:丁鲷、英国史宾格犬、盒式磁带播放器、链锯、教堂、法国号、垃圾车、加油泵、高尔夫球和降落伞。
  • 它提供预先划分的数据集,包含 9,469 张训练用彩色图像和 3,925 张验证用彩色图像,图像尺寸各不相同。
  • 这 10 个类别彼此区分明显,使 ImageNette 训练速度快、易于理解,因此它被广泛用于图像分类原型开发和教学。

数据集结构#

ImageNette 提供预先划分的训练集和验证集,每个类别分别存放在自己的文件夹中:

划分图像类别
训练9,46910
验证3,92510

每个类别的图像数量并不完全相同,这种设置为快速训练和基准测试提供了真实的数据分布,同时避免了完整 ImageNet 数据集的庞大规模。

应用场景#

ImageNette 数据集广泛用于图像分类任务中的深度学习模型训练和评估,例如卷积神经网络 (CNNs) 和其他机器学习算法。它的格式简单,类别选择合理,是机器学习和计算机视觉领域的初学者和资深从业者都能方便使用的资源。

用法#

若要在 ImageNette 数据集上训练模型 100 个轮次,并将标准图像尺寸设为 224x224,请使用以下代码片段。如需查看所有可用参数的完整列表,请参阅模型的训练页面。

训练示例
from ultralytics import YOLO

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

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

示例图像和标注#

ImageNette 数据集包含各种物体和场景的彩色图像,为图像分类任务提供了多样化的数据。以下是该数据集中的一些图像示例:

ImageNette 分类数据集示例图像

此示例展示了 ImageNette 数据集中图像的多样性和复杂性,凸显了多样化数据集对于训练鲁棒的图像分类模型的重要性。

ImageNette160 和 ImageNette320#

为了加快原型开发和训练,ImageNette 还提供两种缩小尺寸的版本:ImageNette160 和 ImageNette320。这些数据集的类别和结构与完整 ImageNette 相同,但图像的最大边长经过缩小。它们特别适合初步模型测试,或计算资源有限的情况。

若要使用这些数据集,只需在训练命令中将 imagenette 替换为 imagenette160 或 imagenette320。以下代码片段对此进行了说明:

使用 ImageNette160 训练示例
from ultralytics import YOLO

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

# 使用 ImageNette160 训练模型
results = model.train(data="imagenette160", epochs=100, imgsz=160)
使用 ImageNette320 训练示例
from ultralytics import YOLO

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

# 使用 ImageNette320 训练模型
results = model.train(data="imagenette320", epochs=100, imgsz=320)

这些较小的数据集版本可以加快开发过程中的迭代,同时仍提供真实的图像分类任务。你还可以使用 Ultralytics Platform 管理分类数据集并在云端运行训练。

引用与致谢#

如果你在研究或开发工作中使用 ImageNette 数据集,请适当注明出处。如需了解有关 ImageNette 的更多信息,请访问 ImageNette 数据集 GitHub 页面。

我们要感谢 fast.ai 团队创建并维护 ImageNette,为机器学习和计算机视觉研究社区提供了宝贵资源。

常见问题#

  • ImageNette 数据集是 ImageNet 的简化子集,包含 10 个易于区分的类别,例如丁鲷、英国史宾格犬和法国号。它包含 13,394 张图像(9,469 张训练图像和 3,925 张验证图像),由 fast.ai 创建,为图像分类模型的高效训练和评估提供更易于管理的数据集。因此,它特别适用于机器学习和计算机视觉领域的快速软件开发与教育工作。

  • ImageNette 总共包含 13,394 张图像——9,469 张用于训练,3,925 张用于验证——涵盖 10 个类别:丁鲷、英国史宾格犬、盒式磁带播放器、链锯、教堂、法国号、垃圾车、加油泵、高尔夫球和降落伞。每个类别都存放在自己的文件夹中,遵循 Ultralytics 所要求的标准分类目录结构。

  • 若要在 ImageNette 上训练 YOLO 模型 100 个轮次,请使用以下命令。确保已配置好 Ultralytics YOLO 环境。

    训练示例
    from ultralytics import YOLO
    
    # 加载模型
    model = YOLO("yolo26n-cls.pt")  # 加载预训练模型(推荐用于训练)
    
    # 训练模型
    results = model.train(data="imagenette", epochs=100, imgsz=224)

    如需了解更多详情,请参阅训练文档页面。

  • ImageNette 数据集有以下几项优势:

    • 快速简便:它只有 10 个类别和约 13,000 张图像,训练复杂度和耗时都远低于完整 ImageNet。
    • 教育用途:非常适合学习和讲授图像分类基础知识,因为它所需的计算能力和时间更少。
    • 用途广泛:广泛用于训练和基准测试图像分类模型,尤其是卷积神经网络 (CNNs)。

    如需了解有关模型训练和数据集管理的更多详情,请参阅数据集结构部分。

  • 可以,ImageNette 还提供 ImageNette160 和 ImageNette320 两种调整过尺寸的版本,其图像的最大边长更小。这些版本有助于加快原型开发,在计算资源有限时尤其有用。

    使用 ImageNette160 训练示例
    from ultralytics import YOLO
    
    # 加载模型
    model = YOLO("yolo26n-cls.pt")
    
    # 使用 ImageNette160 训练模型
    results = model.train(data="imagenette160", epochs=100, imgsz=160)

    如需了解更多信息,请参阅使用 ImageNette160 和 ImageNette320 进行训练。

  • ImageNette 数据集广泛用于:

    • 教育场景:向初学者讲授机器学习和计算机视觉基础知识。
    • 软件开发:快速构建图像分类模型原型并进行开发。
    • 深度学习研究:评估并基准测试各种深度学习模型的性能,尤其是卷积神经网络 (CNNs)。

    请参阅应用部分,了解详细的用例。

评论