Passer au contenu principal
Découvrez quand et comment utiliser W&B pour suivre, partager et gérer les artifacts de modèle dans vos flux de travail de machine learning. Cette page explique comment enregistrer des expériences, générer des rapports et accéder aux données enregistrées à l’aide de l’API W&B appropriée pour chaque tâche. Ce tutoriel utilise les éléments suivants :
  • W&B Python SDK (wandb.sdk) : pour enregistrer et surveiller les expériences pendant l’entraînement.
  • API publique W&B (wandb.apis.public) : pour interroger et analyser les données d’expérience enregistrées.
  • API W&B Reports and Workspaces (wandb.wandb-workspaces) : pour créer un rapport afin de résumer les résultats.

Inscrivez-vous et créez une clé API

Pour authentifier votre machine auprès de W&B, vous devez d’abord générer une clé API sur wandb.ai/settings. Copiez la clé API et conservez-la en lieu sûr.

Installer et importer des packages

Installez la bibliothèque W&B ainsi que quelques autres packages dont vous aurez besoin pour ce guide pas à pas.
Importez le SDK Python W&B :
Indiquez l’entité de votre équipe dans le bloc de code suivant :

Entraîner un modèle

Le code suivant simule un flux de travail de machine learning de base : entraîner un modèle, consigner des métriques et enregistrer le modèle en tant qu’artifact. Utilisez le SDK Python W&B (wandb.sdk) pour interagir avec W&B pendant l’entraînement. Consignez la perte à l’aide de wandb.Run.log(), puis enregistrez le modèle entraîné en tant qu’artifact avec wandb.Artifact, avant d’ajouter le fichier du modèle avec Artifact.add_file.
Les points clés à retenir du bloc de code précédent sont :
  • Utilisez wandb.Run.log() pour consigner des métriques pendant l’entraînement.
  • Utilisez wandb.Artifact pour enregistrer des modèles (jeux de données, etc.) en tant qu’artifact dans votre projet W&B.
Maintenant que vous avez entraîné un modèle et l’avez enregistré en tant qu’artifact, vous pouvez le publier dans un registre de W&B. Utilisez wandb.Run.use_artifact() pour récupérer l’artifact de votre projet et le préparer à être publié dans le registre de modèles. wandb.Run.use_artifact() remplit deux fonctions clés :
  • Récupérer l’objet artifact depuis votre projet.
  • Marquer l’artifact comme entrée du run, ce qui garantit la reproductibilité et la traçabilité. Voir Créer et afficher la carte de traçabilité pour plus de détails.

Voir les données d’entraînement dans le tableau de bord

Connectez-vous à votre compte à https://wandb.ai/login Sous Projects, vous devriez voir my-awesome-project (ou le nom de projet que vous avez utilisé plus haut). Cliquez dessus pour accéder au Workspace de votre projet. Vous pouvez ensuite voir les détails de chaque run que vous avez effectué. Dans cette capture d’écran, le code a été relancé plusieurs fois, ce qui a généré plusieurs runs, chacun portant un nom généré aléatoirement.
Page de projet W&B avec plusieurs runs dans une vue tableau, y compris les noms des runs, les métriques et les informations de statut

Publier le modèle dans le registre W&B

Pour partager le modèle avec d’autres personnes de votre organisation, publiez-le dans une collection à l’aide de wandb.Run.link_artifact(). Le code suivant associe l’artifact à un registre, ce qui le rend accessible à votre équipe.
Après avoir exécuté wandb.Run.link_artifact(), l’artifact de modèle se trouvera dans la collection DemoModels de votre registre. Vous pouvez ensuite consulter des informations telles que l’historique des versions, la carte de traçabilité et d’autres métadonnées. Pour en savoir plus sur la façon de lier des artifacts à un registre, consultez Lier des artifacts à un registre.

Récupérer un artifact de modèle du registre pour l’inférence

Pour utiliser un modèle pour l’inférence, utilisez wandb.Run.use_artifact() afin de récupérer l’artifact publié dans le registre. Cette méthode renvoie un objet artifact, que vous pouvez ensuite télécharger dans un fichier local à l’aide de wandb.Artifact.download().
Pour en savoir plus sur la façon de récupérer des artifacts depuis un registre, voir Télécharger un artifact depuis un registre. Selon votre framework de machine learning, vous devrez peut-être recréer l’architecture du modèle avant de charger les poids. Nous vous laissons cet exercice, car cela dépend du framework et du modèle que vous utilisez.

Partagez vos résultats avec un rapport

L’API W&B Report and Workspace est en préversion publique.
Créez et partagez un rapport pour résumer votre travail. Pour créer un rapport de manière programmatique, utilisez l’API W&B Report and Workspace. Installez d’abord l’API W&B Reports :
Le bloc de code suivant crée un rapport avec plusieurs blocs, notamment du markdown, des grilles de panneaux, etc. Vous pouvez personnaliser le rapport en ajoutant d’autres blocs ou en modifiant le contenu des blocs existants. L’exécution du bloc de code affiche un lien vers l’URL du rapport créé. Vous pouvez ouvrir ce lien dans votre navigateur pour consulter le rapport.
Pour plus d’informations sur la création d’un rapport par programmation ou de manière interactive dans l’application W&B, voir Créer un rapport dans le guide du développeur de W&B Docs.

Interroger le registre

Utilisez les API publiques de W&B pour interroger, analyser et gérer les données historiques de W&B. Cela peut être utile pour suivre la traçabilité des artifacts, comparer différentes versions et analyser les performances des modèles au fil du temps. Le bloc de code suivant montre comment interroger le registre de modèles pour tous les artifacts d’une collection donnée. Il récupère la collection et parcourt ses versions pour afficher le nom et la version de chaque artifact.
Pour en savoir plus sur l’interrogation du registre, voir Interroger les éléments du registre.