Ultralytics YOLO27:

Conjunto de dados ImageNette#

O conjunto de dados ImageNette é um subconjunto do ImageNet com 10 classes facilmente distinguíveis, criado pela fast.ai para oferecer uma versão do ImageNet mais rápida e fácil de usar para desenvolvimento de software e educação. Ele contém 13.394 imagens coloridas — 9.469 para treinamento e 3.925 para validação — de classes como tenca, springer spaniel inglês, toca-fitas e trompa francesa, para que os modelos de classificação de imagens sejam treinados em minutos, em vez das horas exigidas pelo ImageNet completo, com 1.000 classes.

Principais funcionalidades#

  • O ImageNette contém 13.394 imagens distribuídas por 10 classes: tenca, springer spaniel inglês, toca-fitas, motosserra, igreja, trompa francesa, caminhão de lixo, bomba de gasolina, bola de golfe e paraquedas.
  • Ele vem com uma divisão predefinida de 9.469 imagens coloridas para treinamento e 3.925 para validação, com dimensões variadas.
  • As 10 classes bem separadas tornam o ImageNette rápido para treinar e fácil de entender, por isso ele é amplamente usado para prototipagem e ensino de classificação de imagens.

Estrutura do conjunto de dados#

O ImageNette vem com uma divisão predefinida entre treinamento e validação, com cada classe armazenada em sua própria pasta:

DivisãoImagensClasses
Treinar9,46910
Validação3,92510

O número exato de imagens varia por classe, oferecendo uma distribuição realista para treinamento e avaliação comparativa rápidos, sem a escala do conjunto de dados ImageNet completo.

Aplicações#

O conjunto de dados ImageNette é amplamente usado para treinar e avaliar modelos de aprendizado profundo em tarefas de classificação de imagens, como redes neurais convolucionais (CNNs) e outros algoritmos de aprendizado de máquina. Seu formato simples e suas classes bem selecionadas fazem dele um recurso prático tanto para iniciantes quanto para profissionais experientes em aprendizado de máquina e visão computacional.

Uso#

Para treinar um modelo no conjunto de dados ImageNette por 100 épocas, usando o tamanho de imagem padrão de 224x224, você pode usar os trechos de código a seguir. Para ver a lista completa dos argumentos disponíveis, consulte a página de treinamento do modelo.

Exemplo de treino
from ultralytics import YOLO

# Carregar um modelo
model = YOLO("yolo26n-cls.pt")  # carregue um modelo pré-treinado (recomendado para treinamento)

# Treinar o modelo
results = model.train(data="imagenette", epochs=100, imgsz=224)

Imagens de exemplo e anotações#

O conjunto de dados ImageNette contém imagens coloridas de diversos objetos e cenários, oferecendo um conjunto diversificado para tarefas de classificação de imagens. Veja alguns exemplos de imagens do conjunto de dados:

Imagens de exemplo do conjunto de dados de classificação ImageNette

O exemplo demonstra a variedade e a complexidade das imagens do conjunto de dados ImageNette, destacando a importância de um conjunto de dados diversificado para treinar modelos robustos de classificação de imagens.

ImageNette160 e ImageNette320#

Para uma prototipagem e um treinamento mais rápidos, o ImageNette também está disponível em dois tamanhos reduzidos: ImageNette160 e ImageNette320. Esses conjuntos de dados mantêm as mesmas classes e estrutura do ImageNette completo, mas as imagens são redimensionadas para um comprimento máximo de borda menor. Eles são especialmente úteis para testes preliminares de modelos ou quando os recursos computacionais são limitados.

Para usar esses conjuntos de dados, basta substituir imagenette por imagenette160 ou imagenette320 no comando de treinamento. Os trechos de código a seguir ilustram isso:

Exemplo de treinamento com ImageNette160
from ultralytics import YOLO

# Carregar um modelo
model = YOLO("yolo26n-cls.pt")  # carregue um modelo pré-treinado (recomendado para treinamento)

# Treina o modelo com ImageNette160
results = model.train(data="imagenette160", epochs=100, imgsz=160)
Exemplo de treinamento com ImageNette320
from ultralytics import YOLO

# Carregar um modelo
model = YOLO("yolo26n-cls.pt")  # carregue um modelo pré-treinado (recomendado para treinamento)

# Treina o modelo com ImageNette320
results = model.train(data="imagenette320", epochs=100, imgsz=320)

Essas versões menores do conjunto de dados permitem iterações rápidas durante o desenvolvimento e ainda oferecem tarefas realistas de classificação de imagens. Você também pode gerenciar conjuntos de dados de classificação e executar treinamentos na nuvem com a Ultralytics Platform.

Citações e agradecimentos#

Se você usar o conjunto de dados ImageNette em seu trabalho de pesquisa ou desenvolvimento, faça o devido reconhecimento. Para saber mais sobre o ImageNette, acesse a página do ImageNette no GitHub.

Gostaríamos de agradecer à equipe da fast.ai por criar e manter o ImageNette como um recurso valioso para a comunidade de pesquisa de aprendizado de máquina e visão computacional.

Perguntas frequentes#

  • O conjunto de dados ImageNette é um subconjunto simplificado do ImageNet, com 10 classes facilmente distinguíveis, como tenca, springer spaniel inglês e trompa francesa. Ele contém 13.394 imagens (9.469 para treinamento e 3.925 para validação) e foi criado pela fast.ai para oferecer um conjunto de dados mais fácil de gerenciar e permitir o treinamento e a avaliação eficientes de modelos de classificação de imagens. Isso o torna especialmente útil para o desenvolvimento rápido de software e fins educacionais em aprendizado de máquina e visão computacional.

  • O ImageNette contém 13.394 imagens no total — 9.469 para treinamento e 3.925 para validação — distribuídas por 10 classes: tenca, springer spaniel inglês, toca-fitas, motosserra, igreja, trompa francesa, caminhão de lixo, bomba de gasolina, bola de golfe e paraquedas. Cada classe é armazenada em sua própria pasta, seguindo o formato padrão de classificação esperado pela Ultralytics.

  • Para treinar um modelo YOLO no ImageNette por 100 épocas, use os comandos a seguir. Verifique se o ambiente Ultralytics YOLO está configurado.

    Exemplo de treino
    from ultralytics import YOLO
    
    # Carregar um modelo
    model = YOLO("yolo26n-cls.pt")  # carregue um modelo pré-treinado (recomendado para treinamento)
    
    # Treinar o modelo
    results = model.train(data="imagenette", epochs=100, imgsz=224)

    Para saber mais, consulte a página de documentação de treinamento.

  • O conjunto de dados ImageNette oferece várias vantagens:

    • Rápido e simples: Com apenas 10 classes e cerca de 13.000 imagens, o treinamento é muito menos complexo e demorado do que no ImageNet completo.
    • Uso educacional: Ideal para aprender e ensinar os conceitos básicos de classificação de imagens, pois exige menos tempo e poder computacional.
    • Versatilidade: Amplamente usado para treinar e avaliar comparativamente modelos de classificação de imagens, especialmente redes neurais convolucionais (CNNs).

    Para saber mais sobre treinamento de modelos e gerenciamento de conjuntos de dados, consulte a seção Estrutura do conjunto de dados.

  • Sim, o ImageNette também está disponível em duas versões redimensionadas, ImageNette160 e ImageNette320, cujas imagens têm comprimentos máximos de borda menores. Essas versões ajudam a acelerar a prototipagem e são especialmente úteis quando os recursos computacionais são limitados.

    Exemplo de treinamento com ImageNette160
    from ultralytics import YOLO
    
    # Carregar um modelo
    model = YOLO("yolo26n-cls.pt")
    
    # Treina o modelo com ImageNette160
    results = model.train(data="imagenette160", epochs=100, imgsz=160)

    Para saber mais, consulte Treinamento com ImageNette160 e ImageNette320.

  • O conjunto de dados ImageNette é amplamente usado em:

    • Contextos educacionais: Para ensinar a iniciantes os fundamentos de aprendizado de máquina e visão computacional.
    • Desenvolvimento de software: Para prototipar e desenvolver rapidamente modelos de classificação de imagens.
    • Pesquisa em aprendizado profundo: Para avaliar e comparar o desempenho de vários modelos de aprendizado profundo, especialmente redes neurais convolucionais (CNNs).

    Explore a seção Aplicações para ver casos de uso detalhados.

Comentários