Ir al contenido

Conjunto de datos ImageNette

El conjunto de datos ImageNette es un subconjunto del mayor conjunto de datos Imagenet, pero sólo incluye 10 clases fácilmente distinguibles. Se creó para proporcionar una versión más rápida y fácil de usar de Imagenet para el desarrollo de software y la educación.

Características principales

  • ImageNette contiene imágenes de 10 clases diferentes, como tenca, English springer, reproductor de casetes, motosierra, iglesia, trompa francesa, camión de la basura, bomba de gasolina, pelota de golf, paracaídas.
  • El conjunto de datos incluye imágenes en color de distintas dimensiones.
  • ImageNette se utiliza ampliamente para entrenar y probar en el campo del aprendizaje automático, especialmente para 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 según la clase.
  2. Conjunto de validación: Este subconjunto consta de varios centenares de imágenes utilizadas para validar y comparar los modelos entrenados. Una vez más, 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 (CNN) y otros algoritmos de aprendizaje automático. El formato sencillo del conjunto de datos y las clases bien seleccionadas lo convierten en un recurso práctico tanto para principiantes como para profesionales experimentados en el campo del aprendizaje automático y la visión por ordenador.

Utilización

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 tren

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

Ejemplos de imágenes y anotaciones

El conjunto de datos ImageNette contiene imágenes en color de diversos objetos y escenas, lo que proporciona un conjunto de datos diverso para tareas de clasificación de imágenes. Estos son 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 del conjunto de datos ImageNette, lo que pone de relieve la importancia de contar con un conjunto de datos diverso para entrenar modelos sólidos de clasificación de imágenes.

ImagenNette160 e ImagenNette320

Para acelerar la creación de prototipos y la formación, 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 un tamaño más pequeño. Por ello, estas versiones del conjunto de datos son especialmente útiles para probar modelos preliminares o cuando los recursos informáticos son limitados.

Para utilizar estos conjuntos de datos, basta con sustituir "imagenette" por "imagenette160" o "imagenette320" en el comando de entrenamiento. Los siguientes fragmentos de código lo ilustran:

Ejemplo de tren 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 tren 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 realizar iteraciones rápidas durante el proceso de desarrollo sin dejar de proporcionar 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, hágalo constar debidamente. Para más información sobre el conjunto de datos ImageNette, visite la página 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 mayor conjunto de datos ImageNet, que incluye sólo 10 clases fácilmente distinguibles, como tenca, English springer y trompa francesa. Se creó para ofrecer un conjunto de datos más manejable que permitiera entrenar y evaluar eficazmente los modelos de clasificación de imágenes. Este conjunto de datos es especialmente útil para el desarrollo rápido de software y con fines educativos en aprendizaje automático y visión por ordenador.

¿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 Ultralytics YOLO .

Ejemplo de tren

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 más detalles, consulte la página de documentación sobre Formación.

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

El conjunto de datos ImageNette es ventajoso por varias razones:

  • Rápido y sencillo: Contiene sólo 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 de cálculo 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 información sobre la formación de modelos y la gestión de conjuntos de datos, consulte la sección Estructura de los conjuntos de datos.

¿Puede utilizarse el conjunto de datos ImageNette con imágenes de distintos tamaños?

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

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

Para obtener más información, consulte Formación con ImageNette160 e ImageNette320.

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

El conjunto de datos ImageNette se utiliza ampliamente en:

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

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

Creado hace 1 año ✏️ Actualizado hace 2 meses

Comentarios