Ultralytics YOLO27:

Датасет ImageNette#

Датасет ImageNette — это подмножество ImageNet с 10 легко различимыми классами, созданное командой fast.ai, чтобы предоставить более быструю и удобную версию ImageNet для разработки программного обеспечения и обучения. Он содержит 13 394 цветных изображения — 9 469 для обучения и 3 925 для валидации — и охватывает такие классы, как линь, английский спрингер-спаниель, кассетный проигрыватель и валторна, поэтому модели классификации изображений обучаются за минуты, а не за часы, необходимые для полного ImageNet с 1 000 классами.

Ключевые особенности#

  • ImageNette содержит 13 394 изображения 10 классов: линь, английский спрингер-спаниель, кассетный проигрыватель, бензопила, церковь, валторна, мусоровоз, бензоколонка, мяч для гольфа и парашют.
  • В датасете предусмотрено разделение на 9 469 цветных изображений для обучения и 3 925 для валидации с различными разрешениями.
  • 10 хорошо разделённых классов делают ImageNette быстрым для обучения и удобным для анализа, поэтому его широко используют для прототипирования и обучения классификации изображений.

Структура датасета#

ImageNette поставляется с заранее заданным разделением на обучающую и валидационную выборки, при этом каждый класс хранится в отдельной папке:

ВыборкаИзображенияКлассы
Обучение9,46910
Валидация3,92510

Точное количество изображений различается для разных классов, что обеспечивает реалистичное распределение для быстрого обучения и бенчмаркинга без масштаба полного датасета ImageNet.

Применения#

Датасет ImageNette широко используется для обучения и оценки моделей глубокого обучения в задачах классификации изображений, например свёрточных нейронных сетей (CNNs) и других алгоритмов машинного обучения. Его простой формат и удачно подобранные классы делают его удобным ресурсом как для начинающих, так и для опытных специалистов в области машинного обучения и компьютерного зрения.

Использование#

Чтобы обучить модель на датасете ImageNette в течение 100 эпох со стандартным размером изображения 224x224, можно использовать следующие фрагменты кода. Полный список доступных аргументов приведён на странице обучения модели.

Пример обучения
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 также доступен в двух уменьшенных вариантах: ImageNette160 и ImageNette320. Эти датасеты сохраняют те же классы и структуру, что и полный 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)

Эти уменьшенные версии датасета позволяют быстро выполнять итерации в процессе разработки, сохраняя при этом реалистичные задачи классификации изображений. Ты также можешь управлять датасетами для классификации и запускать обучение в облаке с помощью 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.

  • Чтобы обучить модель YOLO на ImageNette в течение 100 эпох, используй следующие команды. Убедись, что среда 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 имеет несколько преимуществ:

    • Быстрота и простота: всего 10 классов и около 13 000 изображений, поэтому его обучение значительно менее сложное и затратное по времени, чем обучение на полном ImageNet.
    • Образовательное применение: идеально подходит для изучения и преподавания основ классификации изображений, поскольку требует меньше вычислительных ресурсов и времени.
    • Универсальность: широко используется для обучения и бенчмаркинга моделей классификации изображений, особенно свёрточных нейронных сетей (CNNs).

    Подробнее об обучении моделей и управлении датасетами смотри в разделе структуры датасета.

  • Да, 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 широко используется в следующих областях:

    • Образование: для обучения начинающих основам машинного обучения и компьютерного зрения.
    • Разработка программного обеспечения: для быстрого прототипирования и разработки моделей классификации изображений.
    • Исследования в области глубокого обучения: для оценки и бенчмаркинга производительности различных моделей глубокого обучения, особенно свёрточных нейронных сетей (CNNs).

    Подробные варианты использования смотри в разделе применений.

Комментарии