Passer au contenu

Ensemble de données ImageNette

L'ensemble de données ImageNette est un sous-ensemble du plus grand ensemble de données ImageNet, mais il ne comprend que 10 classes facilement distinguables. Il a été créé pour fournir une version d'ImageNet plus rapide et plus facile à utiliser pour le développement de logiciels et l'éducation.

Principales caractéristiques

  • ImageNette contient des images de 10 classes différentes telles que tanche, épagneul anglais, lecteur de cassettes, tronçonneuse, église, cor d'harmonie, camion à ordures, pompe à essence, balle de golf, parachute.
  • L'ensemble de données comprend des images couleur de dimensions variables.
  • ImageNette est largement utilisé pour l'entraînement et les tests dans le domaine de l'apprentissage automatique, en particulier pour les tâches de classification d'images.

Structure du jeu de données

L'ensemble de données ImageNette est divisé en deux sous-ensembles :

  1. Ensemble d’entraînement: Ce sous-ensemble contient plusieurs milliers d’images utilisées pour l’entraînement des modèles d’apprentissage automatique. Le nombre exact varie selon la classe.
  2. Ensemble de validation : Ce sous-ensemble se compose de plusieurs centaines d’images utilisées pour valider et évaluer les modèles entraînés. Encore une fois, le nombre exact varie selon la classe.

Applications

Le dataset ImageNette est largement utilisé pour l'entraînement et l'évaluation de modèles de deep learning dans les tâches de classification d'images, telles que les réseaux neuronaux convolutifs (CNN), et divers autres algorithmes d'apprentissage automatique. Le format simple et les classes bien choisies du dataset en font une ressource pratique pour les praticiens débutants et expérimentés dans le domaine de l'apprentissage automatique et de la vision par ordinateur.

Utilisation

Pour entraîner un modèle sur l'ensemble de données ImageNette pendant 100 epochs avec une taille d'image standard de 224x224, vous pouvez utiliser les extraits de code suivants. Pour une liste complète des arguments disponibles, consultez la page Formation du modèle.

Exemple d'entraînement

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

Images et annotations d'exemple

L'ensemble de données ImageNette contient des images colorées de divers objets et scènes, offrant un ensemble de données diversifié pour les tâches de classification d'images. Voici quelques exemples d'images de l'ensemble de données :

Exemple d'image de l'ensemble de données

Cet exemple illustre la variété et la complexité des images dans l'ensemble de données ImageNette, soulignant l'importance d'un ensemble de données diversifié pour l'entraînement de modèles de classification d'images robustes.

ImageNette160 et ImageNette320

Pour un prototypage et un entraînement plus rapides, le jeu de données ImageNette est également disponible en deux tailles réduites : ImageNette160 et ImageNette320. Ces jeux de données conservent les mêmes classes et la même structure que le jeu de données ImageNette complet, mais les images sont redimensionnées à une dimension plus petite. De ce fait, ces versions du jeu de données sont particulièrement utiles pour les tests préliminaires de modèles ou lorsque les ressources de calcul sont limitées.

Pour utiliser ces ensembles de données, remplacez simplement 'imagenette' par 'imagenette160' ou 'imagenette320' dans la commande d'entraînement. Les extraits de code suivants illustrent ceci :

Exemple d'entraînement avec 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

Exemple d'entraînement avec 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

Ces versions plus petites de l'ensemble de données permettent des itérations rapides pendant le processus de développement tout en fournissant des tâches de classification d'images précieuses et réalistes.

Citations et remerciements

Si vous utilisez l'ensemble de données ImageNette dans vos travaux de recherche ou de développement, veuillez le mentionner de manière appropriée. Pour plus d'informations sur l'ensemble de données ImageNette, consultez la page GitHub de l'ensemble de données ImageNette.

FAQ

Qu'est-ce que le jeu de données ImageNette ?

L'ensemble de données ImageNette dataset est un sous-ensemble simplifié du plus grand ImageNet dataset, ne comportant que 10 classes facilement distinguables telles que la tanche, l'épagneul anglais et le cor d'harmonie. Il a été créé pour offrir un ensemble de données plus gérable pour l'entraînement et l'évaluation efficaces des modèles de classification d'images. Cet ensemble de données est particulièrement utile pour le développement rapide de logiciels et à des fins éducatives dans l'apprentissage automatique et la vision par ordinateur.

Comment puis-je utiliser l’ensemble de données ImageNette pour entraîner un modèle YOLO ?

Pour entraîner un modèle YOLO sur l'ensemble de données ImageNette pendant 100 epochs, vous pouvez utiliser les commandes suivantes. Assurez-vous que l'environnement Ultralytics YOLO est configuré.

Exemple d'entraînement

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

Pour plus de détails, consultez la page de documentation sur l'entraînement.

Pourquoi devrais-je utiliser ImageNette pour les tâches de classification d'images ?

L'ensemble de données ImageNette est avantageux pour plusieurs raisons :

  • Rapide et simple : Il ne contient que 10 classes, ce qui le rend moins complexe et moins long que les ensembles de données plus volumineux.
  • Utilisation éducative : Idéal pour apprendre et enseigner les bases de la classification d'images, car il nécessite moins de puissance de calcul et de temps.
  • Polyvalence : Largement utilisé pour entraîner et évaluer divers modèles d'apprentissage automatique, en particulier dans la classification d'images.

Pour plus de détails sur l'entraînement des modèles et la gestion des ensembles de données, explorez la section Structure des ensembles de données.

Le jeu de données ImageNette peut-il être utilisé avec différentes tailles d'image ?

Oui, l'ensemble de données ImageNette est également disponible en deux versions redimensionnées : ImageNette160 et ImageNette320. Ces versions permettent un prototypage plus rapide et sont particulièrement utiles lorsque les ressources de calcul sont limitées.

Exemple d'entraînement avec 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

Pour plus d'informations, consultez la section Entraînement avec ImageNette160 et ImageNette320.

Quelles sont les applications pratiques du jeu de données ImageNette ?

L'ensemble de données ImageNette est largement utilisé dans :

  • Cadres éducatifs : Pour éduquer les débutants en apprentissage automatique et en vision par ordinateur.
  • Développement de logiciels : Pour le prototypage rapide et le développement de modèles de classification d’images.
  • Recherche sur l’apprentissage profond : Pour évaluer et comparer les performances de divers modèles d’apprentissage profond, en particulier les réseaux neuronaux convolutionnels (CNN).

Explorez la section Applications pour des cas d'utilisation détaillés.



📅 Créé il y a 1 an ✏️ Mis à jour il y a 5 mois

Commentaires