Ultralytics YOLO27:

Dataset ImageNette#

El dataset ImageNette es un subconjunto de ImageNet con 10 clases fácilmente distinguibles, creado por fast.ai para ofrecer una versión de ImageNet más rápida y fácil de usar para el desarrollo de software y la educación. Contiene 13.394 imágenes en color —9.469 para entrenamiento y 3.925 para validación— que abarcan clases como tenca, springer inglés, reproductor de casetes y trompa francesa, de modo que los modelos de clasificación de imágenes se entrenan en minutos en lugar de las horas que requiere el ImageNet completo de 1.000 clases.

Características principales#

  • ImageNette contiene 13.394 imágenes distribuidas en 10 clases: tenca, springer inglés, reproductor de casetes, motosierra, iglesia, trompa francesa, camión de basura, surtidor de gasolina, pelota de golf y paracaídas.
  • Incluye una división predefinida de 9.469 imágenes de entrenamiento y 3.925 de validación, todas en color y con dimensiones variables.
  • Las 10 clases bien diferenciadas hacen que ImageNette sea rápido de entrenar y fácil de analizar, por lo que se utiliza ampliamente para crear prototipos y enseñar clasificación de imágenes.

Estructura del dataset#

ImageNette incluye una división predefinida de entrenamiento/validación, con cada clase almacenada en su propia carpeta:

SubconjuntoImágenesClases
Entrenar9,46910
Validación3,92510

El número exacto de imágenes varía según la clase, lo que proporciona una distribución realista para entrenamientos y evaluaciones comparativas rápidos sin la escala del dataset ImageNet completo.

Aplicaciones#

El dataset ImageNette se utiliza ampliamente para entrenar y evaluar modelos de aprendizaje profundo en tareas de clasificación de imágenes, como las redes neuronales convolucionales (CNNs) y otros algoritmos de aprendizaje automático. Su formato sencillo y sus clases bien seleccionadas lo convierten en un recurso práctico tanto para principiantes como para profesionales con experiencia en aprendizaje automático y visión artificial.

Uso#

Para entrenar un modelo con el dataset ImageNette durante 100 épocas y con un tamaño de imagen estándar de 224x224, puedes utilizar los siguientes fragmentos de código. Para consultar la lista completa de argumentos disponibles, visita la página de entrenamiento del modelo.

Ejemplo de entrenamiento
from ultralytics import YOLO

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

# Train the model
results = model.train(data="imagenette", epochs=100, imgsz=224)

Imágenes de ejemplo y anotaciones#

El dataset ImageNette contiene imágenes en color de diversos objetos y escenas, lo que proporciona un dataset variado para tareas de clasificación de imágenes. Estos son algunos ejemplos de imágenes del dataset:

Imágenes de ejemplo del dataset de clasificación ImageNette

El ejemplo muestra la variedad y complejidad de las imágenes del dataset ImageNette y destaca la importancia de contar con un dataset variado para entrenar modelos robustos de clasificación de imágenes.

ImageNette160 e ImageNette320#

Para crear prototipos y entrenar más rápido, ImageNette también está disponible en dos tamaños reducidos: ImageNette160 e ImageNette320. Estos datasets mantienen las mismas clases y estructura que ImageNette completo, pero las imágenes se redimensionan a una longitud máxima de borde menor. Son especialmente útiles para las pruebas preliminares de modelos o cuando los recursos computacionales son limitados.

Para utilizar estos datasets, solo tienes que sustituir imagenette por imagenette160 o imagenette320 en el comando de entrenamiento. Los siguientes fragmentos de código lo ilustran:

Ejemplo de entrenamiento con ImageNette160
from ultralytics import YOLO

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

# Train the model with ImageNette160
results = model.train(data="imagenette160", epochs=100, imgsz=160)
Ejemplo de entrenamiento con ImageNette320
from ultralytics import YOLO

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

# Train the model with ImageNette320
results = model.train(data="imagenette320", epochs=100, imgsz=320)

Estas versiones más pequeñas del dataset permiten realizar iteraciones rápidas durante el desarrollo y seguir ofreciendo tareas realistas de clasificación de imágenes. También puedes gestionar datasets de clasificación y ejecutar entrenamientos en la nube con Ultralytics Platform.

Citas y agradecimientos#

Si utilizas el dataset ImageNette en tus trabajos de investigación o desarrollo, menciónalo adecuadamente. Para obtener más información sobre ImageNette, visita la página de ImageNette en GitHub.

Queremos reconocer al equipo de fast.ai por crear y mantener ImageNette como un recurso valioso para la comunidad de investigación de aprendizaje automático y visión artificial.

Preguntas frecuentes#

  • El dataset ImageNette es un subconjunto simplificado de ImageNet con 10 clases fácilmente distinguibles, como tenca, springer inglés y trompa francesa. Contiene 13.394 imágenes —9.469 de entrenamiento y 3.925 de validación— y fue creado por fast.ai para ofrecer un dataset más manejable que permita entrenar y evaluar modelos de clasificación de imágenes de forma eficiente. Esto lo hace especialmente útil para el desarrollo rápido de software y la educación en aprendizaje automático y visión artificial.

  • ImageNette contiene 13.394 imágenes en total —9.469 para entrenamiento y 3.925 para validación— distribuidas en 10 clases: tenca, springer inglés, reproductor de casetes, motosierra, iglesia, trompa francesa, camión de basura, surtidor de gasolina, pelota de golf y paracaídas. Cada clase se almacena en su propia carpeta, siguiendo la estructura de clasificación estándar que espera Ultralytics.

  • Para entrenar un modelo YOLO con ImageNette durante 100 épocas, utiliza los siguientes comandos. Asegúrate de tener configurado el entorno de Ultralytics YOLO.

    Ejemplo de entrenamiento
    from ultralytics import YOLO
    
    # Load a model
    model = YOLO("yolo26n-cls.pt")  # load a pretrained model (recommended for training)
    
    # Train the model
    results = model.train(data="imagenette", epochs=100, imgsz=224)

    Para obtener más información, consulta la página de documentación de entrenamiento.

  • El dataset ImageNette ofrece varias ventajas:

    • Rápido y sencillo: Con solo 10 clases y unas 13.000 imágenes, es mucho menos complejo y requiere menos tiempo de entrenamiento que ImageNet completo.
    • Uso educativo: Es ideal para aprender y enseñar los fundamentos de la clasificación de imágenes, ya que requiere menos potencia computacional y tiempo.
    • Versatilidad: Se utiliza ampliamente para entrenar y evaluar comparativamente modelos de clasificación de imágenes, especialmente redes neuronales convolucionales (CNNs).

    Para obtener más información sobre el entrenamiento de modelos y la gestión de datasets, consulta la sección Estructura del dataset.

  • Sí, ImageNette también está disponible en dos versiones redimensionadas, ImageNette160 e ImageNette320, cuyas imágenes se redimensionan a longitudes máximas de borde menores. Estas versiones facilitan la creación rápida de prototipos y son especialmente útiles cuando los recursos computacionales son limitados.

    Ejemplo de entrenamiento con ImageNette160
    from ultralytics import YOLO
    
    # Load a model
    model = YOLO("yolo26n-cls.pt")
    
    # Train the model with ImageNette160
    results = model.train(data="imagenette160", epochs=100, imgsz=160)

    Para obtener más información, consulta Entrenamiento con ImageNette160 e ImageNette320.

  • El dataset ImageNette se utiliza ampliamente en:

    • Entornos educativos: Para enseñar los fundamentos del aprendizaje automático y la visión artificial a principiantes.
    • Desarrollo de software: Para la creación rápida de prototipos y el desarrollo de modelos de clasificación de imágenes.
    • Investigación en aprendizaje profundo: Para evaluar y comparar el rendimiento de diversos modelos de aprendizaje profundo, especialmente las redes neuronales (CNNs) convolucionales.

    Consulta la sección de aplicaciones para ver casos de uso detallados.

Comentarios