ImageNette 数据集

ImageNette 数据集是大型 ImageNet 数据集的一个子集,但它仅包含 10 个易于区分的类别。它的创建旨在为软件开发和教育提供一个更快捷、更易于使用的 ImageNet 版本。

主要特性

  • ImageNette 包含来自 10 个不同类别的图像,例如丁鱼(tench)、英国激飞猎犬(English springer)、盒式磁带播放机(cassette player)、链锯(chain saw)、教堂(church)、法国号(French horn)、垃圾车(garbage truck)、加油泵(gas pump)、高尔夫球(golf ball)和降落伞(parachute)。
  • 该数据集由不同尺寸的彩色图像组成。
  • ImageNette 被广泛用于机器学习领域的训练和测试,特别是用于图像分类任务。

数据集结构

ImageNette 数据集被分为两个子集:

  1. 训练集:此子集包含数千张用于训练机器学习模型的图像。每个类别的确切数量各不相同。
  2. 验证集:此子集包含数百张用于验证和基准测试已训练模型的图像。同样,每个类别的确切数量各不相同。

应用场景

ImageNette 数据集被广泛用于训练和评估图像分类任务中的 深度学习 模型,例如 卷积神经网络 (CNNs) 以及各种其他机器学习算法。该数据集格式简单且类别选择得当,对于 机器学习计算机视觉 领域的初学者和资深从业者来说,都是一种实用的资源。

使用方法

要使用标准图像尺寸 224x224 在 ImageNette 数据集上训练模型 100 个 epoch,你可以使用以下代码片段。有关可用参数的完整列表,请参阅模型 训练 页面。

训练示例
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n-cls.pt")  # load a pretrained model (recommended for training)

# Train the model
results = model.train(data="imagenette", epochs=100, imgsz=224)

样本图像和标注

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

ImageNette 分类数据集样本图像

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

ImageNette160 和 ImageNette320

为了实现更快的原型设计和训练,ImageNette 数据集还提供了两种缩减尺寸的版本:ImageNette160ImageNette320。这些数据集保持了与完整 ImageNette 数据集相同的类别和结构,但图像被调整为更小的尺寸。因此,这些版本的对于初步模型测试,或在计算资源有限时特别有用。

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

使用 ImageNette160 的训练示例
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n-cls.pt")  # load a pretrained model (recommended for training)

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

# Load a model
model = YOLO("yolo26n-cls.pt")  # load a pretrained model (recommended for training)

# Train the model with ImageNette320
results = model.train(data="imagenette320", epochs=100, imgsz=320)

这些较小版本的数据集允许在开发过程中进行快速迭代,同时仍然提供有价值且真实的图像分类任务。

引文与致谢

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

常见问题 (FAQ)

什么是 ImageNette 数据集?

ImageNette 数据集 是大型 ImageNet 数据集 的一个简化子集,仅包含 10 个易于区分的类别,如丁鱼、英国激飞猎犬和法国号。它的创建旨在为高效训练和评估图像分类模型提供一个更易于管理的数据集。该数据集对于 机器学习 和计算机视觉领域的快速软件开发和教育用途特别有用。

如何使用 ImageNette 数据集训练 YOLO 模型?

要在 ImageNette 数据集上训练 YOLO 模型 100 个 epoch,你可以使用以下命令。确保已设置好 Ultralytics YOLO 环境。

训练示例
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n-cls.pt")  # load a pretrained model (recommended for training)

# Train the model
results = model.train(data="imagenette", epochs=100, imgsz=224)

有关更多详细信息,请参阅 训练 文档页面。

为什么你应该在图像分类任务中使用 ImageNette?

ImageNette 数据集具有以下优势:

  • 快速且简单:它仅包含 10 个类别,与更大的数据集相比,复杂性和耗时更少。
  • 教育用途:非常适合学习和教授图像分类基础知识,因为它所需的计算能力和时间更少。
  • 多功能性:被广泛用于训练和基准测试各种机器学习模型,特别是在图像分类方面。

有关模型训练和数据集管理的更多详细信息,请浏览 数据集结构 部分。

ImageNette 数据集可以与不同的图像尺寸一起使用吗?

是的,ImageNette 数据集还提供两种调整大小后的版本:ImageNette160 和 ImageNette320。这些版本有助于更快的原型设计,并且在计算资源有限时特别有用。

使用 ImageNette160 的训练示例
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n-cls.pt")

# Train the model with ImageNette160
results = model.train(data="imagenette160", epochs=100, imgsz=160)

有关更多信息,请参阅 使用 ImageNette160 和 ImageNette320 进行训练

ImageNette 数据集有哪些实际应用?

ImageNette 数据集被广泛用于:

  • 教育环境:用于教育机器学习和 计算机视觉 的初学者。
  • 软件开发:用于图像分类模型的快速原型设计和开发。
  • 深度学习研究:用于评估和基准测试各种深度学习模型的性能,特别是卷积 神经网络 (CNNs)。

浏览 应用 部分以了解详细的使用案例。

评论