Перейти к содержимому

Набор данных ImageNette

Набор данных ImageNette - это подмножество более крупного набора данных Imagenet, но в него входят только 10 легко различимых классов. Он был создан, чтобы предоставить более быструю и простую в использовании версию Imagenet для разработки программного обеспечения и образования.

Основные характеристики

  • ImageNette содержит изображения из 10 различных классов, таких как линь, спрингер English , кассетный плеер, бензопила, церковь, валторна, мусоровоз, бензонасос, мяч для гольфа, парашют.
  • Набор данных состоит из цветных изображений разного размера.
  • ImageNette широко используется для обучения и тестирования в области машинного обучения, особенно для задач классификации изображений.

Структура набора данных

Набор данных ImageNette разбит на два подмножества:

  1. Обучающий набор: Это подмножество содержит несколько тысяч изображений, используемых для обучения моделей машинного обучения. Точное количество варьируется в зависимости от класса.
  2. Набор для проверки: Это подмножество состоит из нескольких сотен изображений, которые используются для проверки и бенчмаркинга обученных моделей. Опять же, точное количество варьируется в зависимости от класса.

Приложения

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

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

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

Пример поезда

from ultralytics import YOLO

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

# Train the model
results = model.train(data="imagenette", epochs=100, imgsz=224)
# Start training from a pretrained *.pt model
yolo detect train data=imagenette model=yolov8n-cls.pt epochs=100 imgsz=224

Примеры изображений и аннотаций

Набор данных ImageNette содержит цветные изображения различных объектов и сцен, предоставляя разнообразный набор данных для задач классификации изображений. Вот несколько примеров изображений из этого набора:

Образец изображения из набора данных

Этот пример демонстрирует разнообразие и сложность изображений в наборе данных ImageNette, подчеркивая важность разнообразных наборов данных для обучения надежных моделей классификации изображений.

ImageNette160 и ImageNette320

Для более быстрого создания прототипов и обучения набор данных ImageNette также доступен в двух уменьшенных размерах: ImageNette160 и ImageNette320. Эти наборы данных сохраняют те же классы и структуру, что и полный набор данных ImageNette, но изображения в них уменьшены до меньшего размера. Таким образом, эти версии набора данных особенно полезны для предварительного тестирования моделей или при ограниченных вычислительных ресурсах.

Чтобы использовать эти наборы данных, просто замени в команде обучения 'imagenette' на 'imagenette160' или 'imagenette320'. Следующие фрагменты кода иллюстрируют это:

Пример тренировки с ImageNette160

from ultralytics import YOLO

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

# Train the model with ImageNette160
results = model.train(data="imagenette160", epochs=100, imgsz=160)
# Start training from a pretrained *.pt model with ImageNette160
yolo detect train data=imagenette160 model=yolov8n-cls.pt epochs=100 imgsz=160

Пример тренировки с ImageNette320

from ultralytics import YOLO

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

# Train the model with ImageNette320
results = model.train(data="imagenette320", epochs=100, imgsz=320)
# Start training from a pretrained *.pt model with ImageNette320
yolo detect train data=imagenette320 model=yolov8n-cls.pt epochs=100 imgsz=320

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

Цитаты и благодарности

Если ты используешь набор данных ImageNette в своих исследованиях или разработках, пожалуйста, отметь это соответствующим образом. Чтобы узнать больше о наборе данных ImageNette, посети страницу ImageNette dataset на GitHub.

ВОПРОСЫ И ОТВЕТЫ

Что представляет собой набор данных ImageNette?

Набор данных ImageNette - это упрощенное подмножество более крупного набора данных ImageNet, включающее всего 10 легко различимых классов, таких как линь, спрингер English и валторна. Он был создан, чтобы предложить более управляемый набор данных для эффективного обучения и оценки моделей классификации изображений. Этот набор данных особенно полезен для быстрой разработки программного обеспечения и образовательных целей в области машинного обучения и компьютерного зрения.

Как я могу использовать набор данных ImageNette для обучения модели YOLO ?

Чтобы обучить модель YOLO на наборе данных ImageNette в течение 100 эпох, ты можешь воспользоваться следующими командами. Убедись, что у тебя настроено окружение Ultralytics YOLO .

Пример поезда

from ultralytics import YOLO

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

# Train the model
results = model.train(data="imagenette", epochs=100, imgsz=224)
# Start training from a pretrained *.pt model
yolo detect train data=imagenette model=yolov8n-cls.pt epochs=100 imgsz=224

Более подробную информацию ты найдешь на странице документации по тренировкам.

Почему мне стоит использовать ImageNette для решения задач по классификации изображений?

Набор данных ImageNette выгоден по нескольким причинам:

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

Чтобы узнать больше подробностей об обучении модели и управлении набором данных, изучи раздел " Структура набора данных ".

Можно ли использовать набор данных ImageNette с разными размерами изображений?

Да, набор данных ImageNette также доступен в двух уменьшенных версиях: ImageNette160 и ImageNette320. Эти версии помогают быстрее создавать прототипы и особенно полезны, когда вычислительные ресурсы ограничены.

Пример тренировки с ImageNette160

from ultralytics import YOLO

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

# Train the model with ImageNette160
results = model.train(data="imagenette160", epochs=100, imgsz=160)
# Start training from a pretrained *.pt model with ImageNette160
yolo detect train data=imagenette160 model=yolov8n-cls.pt epochs=100 imgsz=160

За дополнительной информацией обращайся к разделу Обучение работе с ImageNette160 и ImageNette320.

Каковы некоторые практические применения набора данных ImageNette?

Набор данных ImageNette широко используется в:

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

Изучи раздел "Приложения", чтобы узнать подробные примеры использования.



Создано 2023-11-12, Обновлено 2024-07-04
Авторы: glenn-jocher (6)

Комментарии