Ir al contenido

Conjunto de datos ImageNette

El conjunto de datos ImageNette es un subconjunto del conjunto de datos más grande ImageNet, pero solo incluye 10 clases fácilmente distinguibles. Fue creado para proporcionar una versión de ImageNet más rápida y fácil de usar para el desarrollo de software y la educación.

Características clave

  • ImageNette contiene imágenes de 10 clases diferentes, como tenca, Springer English, reproductor de cassette, motosierra, iglesia, trompa francesa, camión de basura, bomba de gasolina, pelota de golf, paracaídas.
  • El conjunto de datos comprende imágenes en color de diferentes dimensiones.
  • ImageNette se utiliza ampliamente para el entrenamiento y las pruebas en el campo del aprendizaje automático, especialmente para las tareas de clasificación de imágenes.

Estructura del conjunto de datos

El conjunto de datos ImageNette se divide en dos subconjuntos:

  1. Conjunto de entrenamiento: Este subconjunto contiene varios miles de imágenes utilizadas para entrenar modelos de aprendizaje automático. El número exacto varía por clase.
  2. Conjunto de validación: Este subconjunto consta de varios cientos de imágenes utilizadas para validar y evaluar los modelos entrenados. De nuevo, el número exacto varía según la clase.

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 varios otros algoritmos de aprendizaje automático. El formato sencillo del conjunto de datos y las clases bien elegidas lo convierten en un recurso útil tanto para principiantes como para profesionales experimentados en el campo del aprendizaje automático y la visión artificial.

Uso

Para entrenar un modelo en el conjunto de datos ImageNette durante 100 épocas con un tamaño de imagen estándar de 224x224, puede utilizar los siguientes fragmentos de código. Para obtener una lista completa de los argumentos disponibles, consulte la página de Entrenamiento del modelo.

Ejemplo de entrenamiento

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

sample_images y anotaciones

El conjunto de datos ImageNette contiene imágenes en color de varios objetos y escenas, lo que proporciona un conjunto de datos diverso para tareas de clasificación de imágenes. Aquí hay algunos ejemplos de imágenes del conjunto de datos:

Imagen de muestra del conjunto de datos

El ejemplo muestra la variedad y complejidad de las imágenes en el conjunto de datos ImageNette, destacando la importancia de un conjunto de datos diverso para entrenar modelos robustos de clasificación de imágenes.

ImageNette160 e ImageNette320

Para una creación de prototipos y un entrenamiento más rápidos, el conjunto de datos ImageNette también está disponible en dos tamaños reducidos: ImageNette160 e ImageNette320. Estos conjuntos de datos mantienen las mismas clases y estructura que el conjunto de datos ImageNette completo, pero las imágenes se redimensionan a una dimensión más pequeña. Como tal, estas versiones del conjunto de datos son particularmente útiles para las pruebas preliminares del modelo, o cuando los recursos computacionales son limitados.

Para usar estos conjuntos de datos, simplemente reemplace 'imagenette' con 'imagenette160' o 'imagenette320' en el comando de entrenamiento. Los siguientes fragmentos de código ilustran esto:

Ejemplo de entrenamiento con 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

Ejemplo de entrenamiento con 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 versiones más pequeñas del conjunto de datos permiten iteraciones rápidas durante el proceso de desarrollo, al tiempo que proporcionan tareas de clasificación de imágenes valiosas y realistas.

Citas y agradecimientos

Si utiliza el conjunto de datos ImageNette en su trabajo de investigación o desarrollo, reconózcalo adecuadamente. Para obtener más información sobre el conjunto de datos ImageNette, visite la página de GitHub del conjunto de datos ImageNette.

Preguntas frecuentes

¿Qué es el conjunto de datos ImageNette?

El conjunto de datos ImageNette es un subconjunto simplificado del conjunto de datos más grande ImageNet, que presenta solo 10 clases fácilmente distinguibles, como tenca, English springer y trompa francesa. Fue creado para ofrecer un conjunto de datos más manejable para el entrenamiento y la evaluación eficientes de modelos de clasificación de imágenes. Este conjunto de datos es particularmente útil para el desarrollo rápido de software y fines educativos en aprendizaje automático y visión por computadora.

¿Cómo puedo utilizar el conjunto de datos ImageNette para entrenar un modelo YOLO?

Para entrenar un modelo YOLO en el conjunto de datos ImageNette durante 100 épocas, puede utilizar los siguientes comandos. Asegúrese de tener configurado el entorno de Ultralytics YOLO.

Ejemplo de entrenamiento

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 obtener más detalles, consulta la página de documentación de Entrenamiento.

¿Por qué debería usar ImageNette para tareas de clasificación de imágenes?

El conjunto de datos ImageNette es ventajoso por varias razones:

  • Rápido y sencillo: Contiene solo 10 clases, lo que lo hace menos complejo y requiere menos tiempo en comparación con conjuntos de datos más grandes.
  • Uso educativo: Ideal para aprender y enseñar los fundamentos de la clasificación de imágenes, ya que requiere menos potencia computacional y tiempo.
  • Versatilidad: Ampliamente utilizado para entrenar y evaluar varios modelos de aprendizaje automático, especialmente en la clasificación de imágenes.

Para obtener más detalles sobre el entrenamiento de modelos y la gestión de conjuntos de datos, explora la sección Estructura del Conjunto de Datos.

¿Se puede usar el conjunto de datos ImageNette con diferentes tamaños de imagen?

Sí, el conjunto de datos ImageNette también está disponible en dos versiones redimensionadas: ImageNette160 e ImageNette320. Estas versiones ayudan a prototipar más rápido y son especialmente útiles cuando los recursos computacionales son limitados.

Ejemplo de entrenamiento con 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

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

¿Cuáles son algunas aplicaciones prácticas del conjunto de datos ImageNette?

El conjunto de datos ImageNette se utiliza ampliamente en:

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

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



📅 Creado hace 1 año ✏️ Actualizado hace 5 meses

Comentarios