Набор данных ImageNette
Набор данных ImageNette является подмножеством большего набора данных ImageNet, но он включает в себя только 10 легко различимых классов. Он был создан для обеспечения более быстрой и простой в использовании версии ImageNet для разработки программного обеспечения и образования.
Основные характеристики
- ImageNette содержит изображения из 10 различных классов, таких как линь, английский спрингер-спаниель, кассетный плеер, бензопила, церковь, валторна, мусоровоз, бензоколонка, мяч для гольфа, парашют.
- Набор данных состоит из цветных изображений различных размеров.
- ImageNette широко используется для обучения и тестирования в области машинного обучения, особенно для задач классификации изображений.
Структура набора данных
Набор данных ImageNette разделен на два подмножества:
- Обучающий набор: Этот поднабор содержит несколько тысяч изображений, используемых для обучения моделей машинного обучения. Точное количество варьируется в зависимости от класса.
- Набор для валидации: Этот поднабор состоит из нескольких сотен изображений, используемых для валидации и бенчмаркинга обученных моделей. Опять же, точное число варьируется в зависимости от класса.
Приложения
Набор данных ImageNette широко используется для обучения и оценки моделей глубокого обучения в задачах классификации изображений, таких как сверточные нейронные сети (CNN), и различных других алгоритмов машинного обучения. Простой формат набора данных и хорошо подобранные классы делают его удобным ресурсом как для начинающих, так и для опытных специалистов в области машинного обучения и компьютерного зрения.
Использование
Чтобы обучить модель на наборе данных ImageNette в течение 100 эпох со стандартным размером изображения 224x224, вы можете использовать следующие фрагменты кода. Для получения полного списка доступных аргументов обратитесь к странице Обучение модели.
Пример обучения
from ultralytics import YOLO
# Load a model
model = YOLO("yolo11n-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 classify train data=imagenette model=yolo11n-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("yolo11n-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 classify train data=imagenette160 model=yolo11n-cls.pt epochs=100 imgsz=160
Пример обучения с ImageNette320
from ultralytics import YOLO
# Load a model
model = YOLO("yolo11n-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 classify train data=imagenette320 model=yolo11n-cls.pt epochs=100 imgsz=320
Эти уменьшенные версии набора данных позволяют быстро выполнять итерации в процессе разработки, обеспечивая при этом ценные и реалистичные задачи классификации изображений.
Цитирование и благодарности
Если вы используете набор данных ImageNette в своих исследованиях или разработках, пожалуйста, укажите это соответствующим образом. Для получения дополнительной информации о наборе данных ImageNette посетите страницу ImageNette dataset GitHub.
Часто задаваемые вопросы
Что такое набор данных ImageNette?
Набор данных ImageNette — это упрощенное подмножество большего набора данных ImageNet, содержащее всего 10 легко различимых классов, таких как линь, английский спрингер и французский рожок. Он был создан, чтобы предложить более управляемый набор данных для эффективного обучения и оценки моделей классификации изображений. Этот набор данных особенно полезен для быстрой разработки программного обеспечения и в образовательных целях в области машинного обучения и компьютерного зрения.
Как я могу использовать датасет ImageNette для обучения модели YOLO?
Чтобы обучить модель YOLO на наборе данных ImageNette в течение 100 эпох, вы можете использовать следующие команды. Убедитесь, что у вас настроена среда Ultralytics YOLO.
Пример обучения
from ultralytics import YOLO
# Load a model
model = YOLO("yolo11n-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 classify train data=imagenette model=yolo11n-cls.pt epochs=100 imgsz=224
Для получения более подробной информации см. страницу документации по обучению.
Почему мне следует использовать ImageNette для задач классификации изображений?
Набор данных ImageNette имеет ряд преимуществ:
- Быстро и просто: Содержит всего 10 классов, что делает его менее сложным и трудоемким по сравнению с более крупными наборами данных.
- Образовательное использование: Идеально подходит для изучения и преподавания основ классификации изображений, поскольку требует меньше вычислительной мощности и времени.
- Универсальность: Широко используется для обучения и тестирования различных моделей машинного обучения, особенно в классификации изображений.
Для получения более подробной информации об обучении моделей и управлении наборами данных изучите раздел Структура набора данных.
Можно ли использовать набор данных ImageNette с разными размерами изображений?
Да, набор данных ImageNette также доступен в двух измененных версиях: ImageNette160 и ImageNette320. Эти версии помогают ускорить прототипирование и особенно полезны, когда вычислительные ресурсы ограничены.
Пример обучения с ImageNette160
from ultralytics import YOLO
# Load a model
model = YOLO("yolo11n-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 classify train data=imagenette160 model=yolo11n-cls.pt epochs=100 imgsz=160
Для получения дополнительной информации обратитесь к разделу Обучение с использованием ImageNette160 и ImageNette320.
Каковы некоторые практические применения набора данных ImageNette?
Набор данных ImageNette широко используется в:
- Образовательные учреждения: Для обучения начинающих машинному обучению и компьютерному зрению.
- Разработка программного обеспечения: Для быстрого прототипирования и разработки моделей классификации изображений.
- Исследования в области глубокого обучения: Для оценки и сопоставления производительности различных моделей глубокого обучения, особенно сверточных нейронных сетей (CNN).
Подробные примеры использования см. в разделе Приложения.