Набор данных 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,469 | 10 |
| Валидация | 3,925 | 10 |
Точное число изображений в каждом классе различается, что обеспечивает реалистичное распределение для быстрого обучения и сравнительной оценки без масштаба полного набора данных 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 и показывает, почему разнообразный набор данных важен для обучения надёжных моделей классификации изображений.
ImageNette160 и ImageNette320#
Для быстрого создания прототипов и обучения ImageNette также доступен в двух уменьшенных вариантах: ImageNette160 и ImageNette320. В этих наборах данных сохранены те же классы и структура, что и в полном ImageNette, но максимальная длина стороны изображений уменьшена. Эти варианты особенно полезны для предварительного тестирования моделей и при ограниченных вычислительных ресурсах.
Чтобы использовать эти наборы данных, просто замени imagenette на imagenette160 или imagenette320 в команде обучения. Ниже приведены примеры кода:
from ultralytics import YOLO
# Загрузить модель
model = YOLO("yolo26n-cls.pt") # загрузить предварительно обученную модель (рекомендуется для обучения)
# Обучить модель на ImageNette160
results = model.train(data="imagenette160", epochs=100, imgsz=160)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.
Чтобы обучить модель YOLO на ImageNette в течение 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. В них максимальная длина стороны изображения меньше. Эти варианты ускоряют создание прототипов и особенно полезны при ограниченных вычислительных ресурсах.
Пример обучения с ImageNette160from ultralytics import YOLO # Загрузить модель model = YOLO("yolo26n-cls.pt") # Обучить модель на ImageNette160 results = model.train(data="imagenette160", epochs=100, imgsz=160)Подробнее смотри в разделе Обучение с ImageNette160 и ImageNette320.
Набор данных ImageNette широко используют для:
- Обучения: чтобы обучать начинающих основам машинного обучения и компьютерного зрения.
- Разработки программного обеспечения: для быстрого создания прототипов и разработки моделей классификации изображений.
- Исследований в области глубокого обучения: для оценки и сравнения производительности различных моделей глубокого обучения, особенно сверточных нейронных сетей (CNNs).
Подробные примеры использования смотри в разделе Применение.



