Ultralytics YOLO27:

Conjunto de datos ImageNette#

El conjunto de datos ImageNette es un subconjunto de ImageNet con 10 clases fáciles de distinguir, 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 —9469 para entrenamiento y 3925 para validación— de clases como tenca, springer spaniel inglés, reproductor de casetes y trompa francesa, por lo que los modelos de clasificación de imágenes se entrenan en minutos, en lugar de las horas que requiere ImageNet completo, con sus 1000 clases.

Características principales#

  • ImageNette contiene 13 394 imágenes de 10 clases: tenca, springer spaniel 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 9469 imágenes en color para entrenamiento y 3925 para validación, con dimensiones variadas.
  • Las 10 clases bien diferenciadas hacen que ImageNette sea rápido de entrenar y fácil de entender, por lo que se utiliza mucho para crear prototipos y enseñar clasificación de imágenes.

Estructura del conjunto de datos#

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

DivisiónImágenesClases
Entrenar9,46910
Validación3,92510

El número exacto de imágenes varía según la clase, lo que ofrece una distribución realista para entrenar y evaluar rápidamente sin la escala del conjunto de datos ImageNet completo.

Aplicaciones#

El conjunto de datos 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 conjunto de datos ImageNette durante 100 épocas y un tamaño de imagen estándar de 224x224, puedes utilizar los siguientes fragmentos de código. Consulta la página de entrenamiento del modelo para ver una lista completa de los argumentos disponibles.

Ejemplo de entrenamiento
from ultralytics import YOLO

# Cargar un modelo
model = YOLO("yolo26n-cls.pt")  # Carga un modelo preentrenado (recomendado para el entrenamiento)

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

Imágenes de muestra y anotaciones#

El conjunto de datos ImageNette contiene imágenes en color de diversos objetos y escenas, lo que ofrece variedad para las tareas de clasificación de imágenes. Aquí tienes algunos ejemplos de imágenes del conjunto de datos:

Imágenes de ejemplo del conjunto de datos de clasificación ImageNette

El ejemplo muestra la variedad y complejidad de las imágenes del conjunto de datos ImageNette y destaca la importancia de contar con datos variados 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 conjuntos de datos mantienen las mismas clases y estructura que ImageNette completo, pero las imágenes se redimensionan para reducir la longitud máxima del borde. Son especialmente útiles para las primeras pruebas de modelos o cuando los recursos computacionales son limitados.

Para utilizar estos conjuntos de datos, solo tienes que sustituir imagenette por imagenette160 o imagenette320 en el comando de entrenamiento. Estos fragmentos de código muestran cómo hacerlo:

Ejemplo de entrenamiento con ImageNette160
from ultralytics import YOLO

# Cargar un modelo
model = YOLO("yolo26n-cls.pt")  # Carga un modelo preentrenado (recomendado para el entrenamiento)

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

# Cargar un modelo
model = YOLO("yolo26n-cls.pt")  # Carga un modelo preentrenado (recomendado para el entrenamiento)

# Entrenar el modelo con ImageNette320
results = model.train(data="imagenette320", epochs=100, imgsz=320)

Estas versiones más pequeñas del conjunto de datos permiten iterar rápidamente durante el desarrollo y, al mismo tiempo, plantean tareas realistas de clasificación de imágenes. También puedes gestionar conjuntos de datos de clasificación y ejecutar entrenamientos en la nube con Ultralytics Platform.

Citas y agradecimientos#

Si utilizas el conjunto de datos ImageNette en tu trabajo de investigación o desarrollo, menciónalo debidamente. Para obtener más información sobre ImageNette, visita la página de ImageNette en GitHub.

Queremos dar las gracias 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 conjunto de datos ImageNette es un subconjunto simplificado de ImageNet con 10 clases fáciles de distinguir, como tenca, springer spaniel inglés y trompa francesa. Contiene 13 394 imágenes (9469 para entrenamiento y 3925 para validación) y lo creó fast.ai para ofrecer un conjunto de datos más manejable que permita entrenar y evaluar modelos de clasificación de imágenes de forma eficiente. Por eso, resulta especialmente útil para desarrollar software rápidamente y con fines educativos en aprendizaje automático y visión artificial.

  • ImageNette contiene 13 394 imágenes en total —9469 para entrenamiento y 3925 para validación— distribuidas en 10 clases: tenca, springer spaniel 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 Ultralytics YOLO.

    Ejemplo de entrenamiento
    from ultralytics import YOLO
    
    # Cargar un modelo
    model = YOLO("yolo26n-cls.pt")  # Carga un modelo preentrenado (recomendado para el entrenamiento)
    
    # Entrenar el modelo
    results = model.train(data="imagenette", epochs=100, imgsz=224)

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

  • El conjunto de datos ImageNette ofrece varias ventajas:

    • Rápido y sencillo: Con solo 10 clases y unas 13 000 imágenes, entrenar con este conjunto de datos es mucho menos complejo y requiere mucho menos tiempo que entrenar con 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 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 conjuntos de datos, consulta la sección Estructura del conjunto de datos.

  • Sí, ImageNette también está disponible en dos versiones redimensionadas, ImageNette160 e ImageNette320, cuyas imágenes tienen una longitud máxima del borde menor. Estas versiones agilizan la creación de prototipos y son especialmente útiles cuando los recursos computacionales son limitados.

    Ejemplo de entrenamiento con ImageNette160
    from ultralytics import YOLO
    
    # Cargar un modelo
    model = YOLO("yolo26n-cls.pt")
    
    # Entrenar el modelo con ImageNette160
    results = model.train(data="imagenette160", epochs=100, imgsz=160)

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

  • El conjunto de datos ImageNette se utiliza ampliamente en:

    • Entornos educativos: Para enseñar a principiantes los fundamentos del aprendizaje automático y la visión artificial.
    • Desarrollo de software: Para crear prototipos y desarrollar rápidamente 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 convolucionales (CNNs).

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

Comentarios