Salta para o conteúdo

Conjunto de dados ImageNette

O conjunto de dados ImageNette é um subconjunto do conjunto de dados Imagenet mais vasto, mas inclui apenas 10 classes facilmente distinguíveis. Foi criado para fornecer uma versão mais rápida e fácil de utilizar do Imagenet para desenvolvimento de software e educação.

Características principais

  • ImageNette contém imagens de 10 classes diferentes, como tench, English springer, leitor de cassetes, motosserra, igreja, corneta francesa, camião do lixo, bomba de gasolina, bola de golfe, para-quedas.
  • O conjunto de dados inclui imagens coloridas de dimensões variadas.
  • O ImageNette é amplamente utilizado para treino e teste no domínio da aprendizagem automática, especialmente para tarefas de classificação de imagens.

Estrutura do conjunto de dados

O conjunto de dados ImageNette está dividido em dois subconjuntos:

  1. Conjunto de treino: Este subconjunto contém vários milhares de imagens utilizadas para treinar modelos de aprendizagem automática. O número exato varia consoante a classe.
  2. Conjunto de validação: Este subconjunto é constituído por várias centenas de imagens utilizadas para validar e aferir os modelos treinados. Mais uma vez, o número exato varia consoante a classe.

Aplicações

The ImageNette dataset is widely used for training and evaluating deep learning models in image classification tasks, such as Convolutional Neural Networks (CNNs), and various other machine learning algorithms. The dataset's straightforward format and well-chosen classes make it a handy resource for both beginner and experienced practitioners in the field of machine learning and computer vision.

Utilização

Para treinar um modelo no conjunto de dados ImageNette para 100 épocas com um tamanho de imagem padrão de 224x224, podes utilizar os seguintes snippets de código. Para obter uma lista completa dos argumentos disponíveis, consulta a página Treino do modelo.

Exemplo de comboio

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

Exemplos de imagens e anotações

The ImageNette dataset contains colored images of various objects and scenes, providing a diverse dataset for image classification tasks. Here are some examples of images from the dataset:

Imagem de amostra do conjunto de dados

O exemplo mostra a variedade e complexidade das imagens no conjunto de dados ImageNette, realçando a importância de um conjunto de dados diversificado para treinar modelos de classificação de imagens robustos.

ImageNette160 e ImageNette320

Para uma prototipagem e formação mais rápidas, o conjunto de dados ImageNette também está disponível em dois tamanhos reduzidos: ImageNette160 e ImageNette320. Estes conjuntos de dados mantêm as mesmas classes e estrutura que o conjunto de dados ImageNette completo, mas as imagens são redimensionadas para uma dimensão mais pequena. Como tal, estas versões do conjunto de dados são particularmente úteis para testes preliminares de modelos ou quando os recursos computacionais são limitados.

Para utilizar estes conjuntos de dados, basta substituir 'imagenette' por 'imagenette160' ou 'imagenette320' no comando de treino. Os seguintes fragmentos de código ilustram esta situação:

Exemplo de treino com 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

Exemplo de comboio com 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

Estas versões mais pequenas do conjunto de dados permitem iterações rápidas durante o processo de desenvolvimento, continuando a fornecer tarefas de classificação de imagens valiosas e realistas.

Citações e agradecimentos

Se utilizares o conjunto de dados ImageNette no teu trabalho de investigação ou desenvolvimento, agradecemos que o reconheças adequadamente. Para mais informações sobre o conjunto de dados ImageNette, visita a página do conjunto de dados ImageNette no GitHub.

FAQ

O que é o conjunto de dados ImageNette?

The ImageNette dataset is a simplified subset of the larger ImageNet dataset, featuring only 10 easily distinguishable classes such as tench, English springer, and French horn. It was created to offer a more manageable dataset for efficient training and evaluation of image classification models. This dataset is particularly useful for quick software development and educational purposes in machine learning and computer vision.

Como posso utilizar o conjunto de dados ImageNette para treinar um modelo YOLO ?

To train a YOLO model on the ImageNette dataset for 100 epochs, you can use the following commands. Make sure to have the Ultralytics YOLO environment set up.

Exemplo de comboio

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

Para mais informações, consulta a página da documentação Formação.

Por que razão devo utilizar o ImageNette para tarefas de classificação de imagens?

O conjunto de dados ImageNette é vantajoso por várias razões:

  • Rápido e simples: Contém apenas 10 classes, o que o torna menos complexo e demorado em comparação com conjuntos de dados maiores.
  • Utilização educativa: Ideal para aprender e ensinar as noções básicas de classificação de imagens, uma vez que requer menos tempo e poder computacional.
  • Versatilidade: Amplamente utilizado para treinar e aferir vários modelos de aprendizagem automática, especialmente na classificação de imagens.

Para mais detalhes sobre a formação de modelos e a gestão de conjuntos de dados, explora a secção Estrutura do conjunto de dados.

O conjunto de dados ImageNette pode ser utilizado com diferentes tamanhos de imagem?

Sim, o conjunto de dados ImageNette também está disponível em duas versões redimensionadas: ImageNette160 e ImageNette320. Estas versões ajudam a criar protótipos mais rapidamente e são especialmente úteis quando os recursos computacionais são limitados.

Exemplo de treino com 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 detect train data=imagenette160 model=yolo11n-cls.pt epochs=100 imgsz=160

Para mais informações, consulta Formação com o ImageNette160 e o ImageNette320.

Quais são as aplicações práticas do conjunto de dados ImageNette?

O conjunto de dados ImageNette é amplamente utilizado em:

  • Educational Settings: To educate beginners in machine learning and computer vision.
  • Desenvolvimento de software: Para prototipagem rápida e desenvolvimento de modelos de classificação de imagens.
  • Deep Learning Research: To evaluate and benchmark the performance of various deep learning models, especially Convolutional Neural Networks (CNNs).

Explora a secção Aplicações para veres casos de utilização detalhados.

📅 Created 11 months ago ✏️ Updated 22 days ago

Comentários