Passer au contenu principal

Journaliser les modèles

Le guide suivant explique comment journaliser des modèles dans un run W&B et interagir avec ceux-ci.
Les API suivantes sont utiles pour suivre les modèles dans le cadre de votre flux de travail de suivi des expériences. Utilisez les API répertoriées sur cette page pour journaliser des modèles dans un run et accéder aux métriques, tableaux, médias et autres objets.W&B vous recommande d’utiliser W&B Artifacts si vous souhaitez :
  • Créer et suivre différentes versions de données sérialisées autres que les modèles, comme des jeux de données, des prompts, etc.
  • Explorer les graphes de lignage d’un modèle ou de tout autre objet suivi dans W&B.
  • Interagir avec les Artifacts de modèle créés par ces méthodes, par exemple en mettant à jour leurs propriétés (métadonnées, alias et descriptions)
Pour en savoir plus sur W&B Artifacts et les cas d’usage avancés de gestion des versions, consultez la documentation Artifacts.

Journaliser un modèle dans un run

Utilisez log_model pour journaliser un artifact de modèle contenant le contenu du répertoire que vous spécifiez. La méthode log_model marque également l’artifact de modèle obtenu comme sortie du run W&B. Vous pouvez suivre les dépendances d’un modèle et les relations qui lui sont associées si vous le marquez comme entrée ou sortie d’un run W&B. Consultez la traçabilité du modèle dans l’interface de l’application W&B. Voir la page Explorer et parcourir les graphes d’artifacts du chapitre Artifacts pour plus d’informations. Indiquez dans le paramètre path le chemin où vos fichiers de modèle sont enregistrés. Le chemin peut correspondre à un fichier local, à un répertoire ou à une URI de référence pointant vers un bucket externe, par exemple s3://bucket/path. Veillez à remplacer les valeurs entre <> par les vôtres.
import wandb

# Initialiser un run W&B
with wandb.init(project="<your-project>", entity="<your-entity>") as run:

    # Journaliser le modèle
    run.log_model(path="<path-to-model>", name="<name>")
Vous pouvez facultativement fournir un nom pour l’artifact de modèle via le paramètre name. Si name n’est pas spécifié, W&B utilisera le nom de base du chemin d’entrée, précédé de l’ID du run, comme nom.
Notez le name que vous, ou W&B, attribuez au modèle. Vous aurez besoin du nom du modèle pour récupérer son chemin avec la méthode wandb.Run.use_model().
Voir log_model dans la Référence de l’API pour les paramètres.

Télécharger et utiliser un modèle enregistré

Utilisez la fonction use_model pour accéder aux fichiers de modèle et les télécharger s’ils ont été enregistrés auparavant dans un run W&B. Indiquez le nom de l’artifact de modèle dans lequel sont stockés les fichiers de modèle que vous souhaitez récupérer. Le nom que vous indiquez doit correspondre à celui d’un artifact de modèle enregistré existant. Si vous n’avez pas défini name lorsque vous avez enregistré les fichiers avec log_model, le nom attribué par défaut est le nom de base du chemin d’entrée, précédé de l’ID du run. Veillez à remplacer les valeurs entre <> par les vôtres :
import wandb

# Initialiser un run
with wandb.init(project="<your-project>", entity="<your-entity>") as run:

    # Accéder au modèle et le télécharger. Renvoie le chemin vers l'artifact téléchargé
    downloaded_model_path = run.use_model(name="<your-model-name>")
La fonction use_model renvoie le chemin des fichiers du modèle téléchargé. Conservez ce chemin si vous souhaitez lier ce modèle plus tard. Dans l’extrait de code précédent, le chemin renvoyé est stocké dans une variable appelée downloaded_model_path. Voir use_model dans la Référence de l’API pour les paramètres et le type de retour.