Skip to main content

Classe wandb.Run

Une unité de calcul journalisée par W&B. Il s’agit généralement d’une expérience de ML. Appelez wandb.init() pour créer un nouveau run. wandb.init() démarre un nouveau run et renvoie un objet wandb.Run. Chaque run est associé à un ID unique (ID du run). W&B recommande d’utiliser un gestionnaire de contexte (instruction with) pour terminer automatiquement le run. Pour les expériences d’entraînement distribué, vous pouvez soit suivre chaque processus séparément avec un run par processus, soit suivre tous les processus dans un seul run. Pour plus d’informations, voir Journaliser des expériences d’entraînement distribué. Vous pouvez journaliser des données dans un run avec wandb.Run.log(). Tout ce que vous journalisez avec wandb.Run.log() est envoyé à ce run. Pour plus d’informations, voir Créer une expérience ou la page de référence de l’API wandb.init. Il existe un autre objet Run dans le namespace wandb.apis.public. Cet objet permet d’interagir avec des runs déjà créés.

Attributs

Exemples

Créez un run avec wandb.init() :

Propriétés

wandb_config.Config
Objet de configuration associé à ce run.
wandb_config.ConfigStatic
Objet de configuration statique associé à ce run.
str
Répertoire dans lequel les fichiers d’un run sont enregistrés.Il s’agit des fichiers enregistrés avec run.save(), y compris les fichiers créés automatiquement pour certains types de données transmis à run.log(). Pour le répertoire contenant l’ensemble des données d’un run, voir run.sync_dir.
bool
True si le run est désactivé, False sinon.
str
Nom de l’entity W&B associée au run.L’entity peut être un nom d’utilisateur ou le nom d’une équipe ou d’une organisation.
str
Renvoie le nom du groupe associé à ce run.Regrouper des runs permet d’organiser et de visualiser ensemble des expériences liées dans l’interface W&B. C’est particulièrement utile dans des scénarios tels que l’entraînement distribué ou la validation croisée, où plusieurs runs doivent être affichés et gérés comme une seule et même expérience.En mode partagé, où tous les processus partagent le même objet run, il est généralement inutile de définir un groupe, puisqu’il n’existe qu’un seul run et qu’aucun regroupement n’est nécessaire.
str
Identifiant de ce run.
str
Nom du type de job associé au run.Le type de job d’un run est visible sur la page Overview du run dans la W&B App.Vous pouvez l’utiliser pour classer les runs selon leur type de job, par exemple « training », « evaluation » ou « inference ». Cela permet d’organiser et de filtrer les runs dans l’interface W&B, en particulier lorsqu’un même projet contient plusieurs runs de types de job différents. Pour plus d’informations, voir Organiser les runs.
str | None
Nom d’affichage du run.Les noms d’affichage ne sont pas nécessairement uniques et peuvent être descriptifs. Par défaut, ils sont générés aléatoirement.
str | None
Notes associées au run, le cas échéant.Les notes peuvent être une chaîne de caractères multiligne et peuvent également contenir du markdown et des équations LaTeX entre $$, par exemple $x + 3$.
bool
True si le run est hors ligne, False sinon.
str
Chemin du run.Les chemins de run comprennent l’entity, le projet et l’ID du run, au format entity/project/run_id.
str
Nom du projet W&B associé au run.
str | None
URL du projet W&B associé au run, le cas échéant.Les runs hors ligne n’ont pas d’URL de projet.
bool
True si le run a été repris, False sinon.
Settings
Copie figée de l’objet Settings du run.
float
Horodatage Unix (en secondes) du démarrage du run.
int
Step W&B du prochain appel à log().Lève une erreur pour les runs en mode=“shared”.
str | None
Identifiant du sweep associé au run, le cas échéant.
str | None
URL du sweep associé au run, le cas échéant.Les runs hors ligne n’ont pas d’URL de sweep.
str
Répertoire contenant l’ensemble des données d’un run.Il peut être transmis à wandb sync pour téléverser le run ou le téléverser à nouveau.
tuple | None
Tags associés au run, le cas échéant.
str | None
URL du run W&B, le cas échéant.Les runs hors ligne n’ont pas d’URL.

Méthodes

méthode Run.alert()

Crée une alerte avec le titre et le texte donnés.
str
Le titre de l’alerte, qui doit comporter moins de 64 caractères.
str
Le corps du texte de l’alerte.
str | AlertLevel | None
Le niveau d’alerte à utiliser, parmi : INFO, WARN ou ERROR.
int | float | timedelta | None
Le délai d’attente (en secondes) avant d’envoyer une autre alerte portant ce titre.

méthode Run.define_metric()

Personnalise les métriques journalisées avec wandb.Run.log().
str
Le nom de la métrique à personnaliser.
str | wandb_metric.Metric | None
Le nom d’une autre métrique à utiliser comme axe X pour cette métrique dans les graphiques générés automatiquement.
bool | None
Insère automatiquement la dernière valeur de step_metric dans wandb.Run.log() si elle n’est pas fournie explicitement. Vaut True par défaut si step_metric est spécifié.
bool | None
Masque cette métrique dans les graphiques automatiques.
str | None
Spécifie les métriques agrégées à ajouter à la synthèse. Les agrégations prises en charge sont « min », « max », « mean », « last », « first », « copy » et « none ». « none » empêche la génération d’une synthèse. « copy » est obsolète et ne doit pas être utilisé.
bool | None
Si false, cet appel est fusionné avec les appels define_metric précédents pour la même métrique : leurs valeurs sont reprises pour tous les paramètres non spécifiés. Si true, les paramètres non spécifiés écrasent les valeurs définies par les appels précédents.

méthode Run.display()

Affiche ce run dans Jupyter.
int
Aucune description fournie.
bool
Aucune description fournie.

méthode Run.finish()

Termine un run et téléverse toutes les données restantes. Marque la fin d’un run W&B et garantit que toutes les données sont synchronisées avec le serveur. L’état final du run est déterminé par ses conditions de sortie et son statut de synchronisation. États du run :
  • Running : run actif qui journalise des données et/ou envoie des signaux de pulsation (heartbeats).
  • Crashed : run qui a cessé d’envoyer des signaux de pulsation de manière inattendue.
  • Finished : run terminé avec succès (exit_code=0) et dont toutes les données sont synchronisées.
  • Failed : run terminé avec des erreurs (exit_code!=0).
  • Killed : run arrêté de force avant d’avoir pu se terminer.
int | None
Entier indiquant le code de sortie du run. Utilisez 0 en cas de succès ; toute autre valeur marque le run comme échoué.

méthode Run.finish_artifact()

Finalise un artifact non finalisé en tant que sortie d’un run. Les « upserts » ultérieurs portant le même ID distribué créeront une nouvelle version.
Artifact | str
Chemin vers le contenu de cet artifact, qui peut prendre les formes suivantes :
  • /local/directory
  • /local/directory/file.txt
  • s3://bucket/path Vous pouvez également transmettre un objet Artifact créé en appelant wandb.Artifact.
str | None
Nom de l’artifact. Peut être préfixé par entity/project. Les noms valides peuvent prendre les formes suivantes :
  • name:version
  • name:alias
  • digest S’il n’est pas spécifié, le nom par défaut est le nom de base du chemin, précédé de l’ID du run actuel.
str | None
Type d’artifact à journaliser, par exemple dataset ou model
list[str] | None
Alias à appliquer à cet artifact. Par défaut : ["latest"]
str | None
Chaîne unique partagée par tous les jobs distribués. Si None, la valeur par défaut est le nom du groupe du run.
Lie l’artifact à une collection. Le terme « lien » désigne les pointeurs qui relient l’emplacement où W&B stocke l’artifact et celui où l’artifact est accessible dans le registre. W&B ne duplique pas les artifacts lorsque vous liez un artifact à une collection. Consultez les artifacts liés à la collection spécifiée dans l’interface utilisateur du registre.
Artifact
L’objet artifact à lier à la collection.
str
Le chemin de la collection. Il se compose du préfixe « wandb-registry- », suivi du nom du registre et du nom de la collection, sous la forme wandb-registry-{REGISTRY_NAME}/{COLLECTION_NAME}.
list[str] | None
Ajoutez un ou plusieurs alias à l’artifact lié. L’alias « latest » est automatiquement attribué au dernier artifact que vous liez.
Journalise une version d’artifact de modèle et la lie à un modèle enregistré dans le registre de modèles. Les versions de modèle liées sont visibles dans l’interface utilisateur, sur la page du modèle enregistré spécifié. Cette méthode effectue les opérations suivantes :
  • Vérifier si l’artifact de modèle ‘name’ a déjà été journalisé. Si c’est le cas, utiliser la version d’artifact qui correspond aux fichiers situés dans ‘path’, ou journaliser une nouvelle version. Sinon, journaliser les fichiers de ‘path’ en tant que nouvel artifact de modèle ‘name’ de type ‘model’.
  • Vérifier s’il existe un modèle enregistré nommé ‘registered_model_name’ dans le projet ‘model-registry’. Si ce n’est pas le cas, créer un nouveau modèle enregistré nommé ‘registered_model_name’.
  • Lier la version de l’artifact de modèle ‘name’ au modèle enregistré ‘registered_model_name’.
  • Joindre les alias de la liste ‘aliases’ à la version d’artifact de modèle nouvellement liée.
StrPath
(str) Chemin vers le contenu de ce modèle, qui peut prendre les formes suivantes :
  • /local/directory
  • /local/directory/file.txt
  • s3://bucket/path
str
Nom du modèle enregistré auquel lier le modèle. Un modèle enregistré est une collection de versions de modèle liées au registre de modèles, qui représente généralement une tâche de ML spécifique d’une équipe. L’entity auquel appartient ce modèle enregistré est déduit du run.
str | None
Nom de l’artifact de modèle dans lequel les fichiers de ‘path’ seront journalisés. S’il n’est pas spécifié, la valeur par défaut est le nom de base du chemin, précédé de l’ID du run actuel.
list[str] | None
Alias appliqués uniquement à cet artifact lié au sein du modèle enregistré. L’alias « latest » est toujours appliqué à la dernière version d’un artifact lié.
  • AssertionError : si registered_model_name est un chemin ou si le type de l’artifact de modèle ‘name’ ne contient pas la sous-chaîne ‘model’.
  • ValueError : si name contient des caractères spéciaux non valides.

méthode Run.log()

Téléverse les données du run. Utilisez log pour journaliser les données des runs, telles que des scalaires, des images, des vidéos, des histogrammes, des graphiques et des tableaux. Consultez Journaliser des objets et des médias pour obtenir des extraits de code, des bonnes pratiques et plus encore. Utilisation de base :
L’extrait de code précédent enregistre la perte et la précision dans l’historique du run et met à jour les valeurs de synthèse de ces métriques. Visualisez les données journalisées dans un workspace sur wandb.ai ou localement sur une instance autohébergée de l’application W&B App, ou exportez les données pour les visualiser et les explorer localement, par exemple dans un Jupyter Notebook, à l’aide de l’API publique. Les valeurs journalisées ne sont pas forcément des scalaires. Vous pouvez journaliser n’importe quel type de données pris en charge par W&B, comme des images, de l’audio, de la vidéo, etc. Par exemple, vous pouvez utiliser wandb.Table pour journaliser des données structurées. Pour plus de détails, consultez le tutoriel Journaliser des tableaux, visualiser et interroger des données. W&B regroupe les métriques dont le nom contient une barre oblique (/) en sections nommées d’après le texte qui précède la dernière barre oblique. Par exemple, le code suivant produit deux sections nommées « train » et « validate » :
Un seul niveau d’imbrication est pris en charge ; run.log({"a/b/c": 1}) produit une section nommée « a ». run.log() n’est pas conçu pour être appelé plus de quelques fois par seconde. Pour des performances optimales, limitez la journalisation à une fois toutes les N itérations, ou collectez les données sur plusieurs itérations et journalisez-les en un seul step. Par défaut, chaque appel à log crée un nouveau « step ». Le step doit toujours être croissant, et il est impossible de journaliser dans un step précédent. Vous pouvez utiliser n’importe quelle métrique comme axe X dans les graphiques. Voir Axes de journalisation personnalisés pour plus de détails. Dans de nombreux cas, il est préférable de considérer le step W&B comme un horodatage plutôt que comme une étape d’entraînement.
Vous pouvez effectuer plusieurs appels à wandb.Run.log() pour journaliser dans le même step à l’aide des paramètres step et commit. Les exemples suivants sont tous équivalents :
dict[str, Any]
Un dict dont les clés sont de type str et les valeurs sont des objets Python sérialisables, notamment : int, float et string ; tout type de wandb.data_types ; des listes, tuples et tableaux NumPy d’objets Python sérialisables ; d’autres dict ayant cette même structure.
int | None
Le numéro de step à journaliser. Si la valeur est None, un step implicite à incrémentation automatique est utilisé. Voir les remarques dans la description.
bool | None
Si la valeur est true, le step est finalisé et téléversé. Si elle est false, les données sont accumulées pour le step. Voir les remarques dans la description. Si step vaut None, la valeur par défaut est commit=True ; sinon, la valeur par défaut est commit=False.
  • wandb.Error : si la méthode est appelée avant wandb.init().
  • ValueError : si des données non valides sont transmises.
Pour des exemples plus nombreux et plus détaillés, consultez nos guides sur la journalisation. Utilisation de base
Journalisation incrémentielle
Histogramme
Image à partir de NumPy
Image à partir de PIL
Vidéo à partir de NumPy
Graphique Matplotlib
Courbe PR
Objet 3D

méthode Run.log_artifact()

Déclare un artifact comme sortie d’un run.
Artifact | StrPath
(str ou Artifact) Chemin vers le contenu de cet artifact, qui peut prendre les formes suivantes :
  • /local/directory
  • /local/directory/file.txt
  • s3://bucket/path Vous pouvez également passer un objet Artifact créé en appelant wandb.Artifact.
str | None
(str, facultatif) Nom de l’artifact. Les noms valides peuvent prendre les formes suivantes :
  • name:version
  • name:alias
  • digest S’il n’est pas spécifié, la valeur par défaut est le nom de base du chemin, précédé de l’ID du run en cours.
str | None
(str) Type de l’artifact à journaliser, par exemple dataset ou model
list[str] | None
(list, facultatif) Alias à appliquer à cet artifact. Valeur par défaut : ["latest"]
list[str] | None
(list, facultatif) Tags éventuels à appliquer à cet artifact.

méthode Run.log_code()

Enregistre l’état actuel de votre code dans un artifact W&B. Par défaut, la méthode parcourt le répertoire courant et journalise tous les fichiers dont l’extension est .py.
str | None
Le chemin relatif (par rapport à os.getcwd()) ou absolu à partir duquel rechercher le code de manière récursive.
str | None
(str, facultatif) Le nom de l’artifact de code. Par défaut, l’artifact est nommé source-$PROJECT_ID-$ENTRYPOINT_RELPATH. Dans certains cas, vous pouvez souhaiter que plusieurs runs partagent le même artifact. Pour cela, spécifiez name.
Callable[[str, str], bool] | Callable[[str], bool]
Un callable qui accepte un chemin de fichier et, éventuellement, un chemin racine, et qui renvoie True si le fichier doit être inclus, et False dans le cas contraire. La valeur par défaut est lambda path, root: path.endswith(".py").
Callable[[str, str], bool] | Callable[[str], bool]
Un callable qui accepte un chemin de fichier et, éventuellement, un chemin racine, et qui renvoie True si le fichier doit être exclu, et False dans le cas contraire. La valeur par défaut est une fonction qui exclut tous les fichiers situés dans les répertoires <root>/.wandb/ et <root>/wandb/.
Utilisation de base
Utilisation avancée

méthode Run.log_model()

Journalise dans un run un artifact de modèle contenant les éléments situés dans ‘path’, et le marque comme sortie de ce run. Le nom de l’artifact de modèle ne peut contenir que des caractères alphanumériques, des caractères de soulignement et des traits d’union.
StrPath
(str) Chemin vers le contenu de ce modèle, qui peut prendre les formes suivantes :
  • /local/directory
  • /local/directory/file.txt
  • s3://bucket/path
str | None
Nom à attribuer à l’artifact de modèle auquel le contenu du fichier sera ajouté. S’il n’est pas spécifié, le nom de base du chemin, précédé de l’ID du run actuel, est utilisé par défaut.
list[str] | None
Alias à appliquer à l’artifact de modèle créé. Valeur par défaut : ["latest"]
  • ValueError : si le nom contient des caractères spéciaux non valides.

méthode Run.mark_preempting()

Marque ce run comme étant en cours de préemption. Indique également au processus interne de le signaler immédiatement au serveur.

méthode Run.pin_config_keys()

Épingle des clés de configuration à afficher dans la section References de la page Run Overview. Les clés épinglées sont mises en évidence au-dessus de la section Notes de la page Run Overview. Les valeurs de type chaîne sont rendues en markdown ; les autres valeurs sont rendues en texte brut. Tout nouvel appel remplace la liste précédemment épinglée.
Sequence[str]
Noms des clés de configuration à épingler, correspondant aux clés définies via run.config. Il s’agit des chaînes exactes des clés (les points et les barres obliques sont interprétés littéralement, et non comme des séparateurs de chemin). L’ordre est conservé et détermine l’ordre d’affichage.

méthode Run.restore()

Télécharge le fichier spécifié depuis le stockage cloud. Le fichier est placé dans le répertoire courant ou dans le répertoire du run. Par défaut, le fichier n’est téléchargé que s’il n’existe pas déjà.
str
Le nom du fichier.
str | None
Chemin facultatif vers le run depuis lequel récupérer les fichiers, par exemple username/project_name/run_id. Ce paramètre est requis si wandb.init n’a pas été appelé.
bool
Indique s’il faut télécharger le fichier même s’il existe déjà en local
str | None
Le répertoire dans lequel télécharger le fichier. Par défaut, il s’agit du répertoire courant, ou du répertoire du run si wandb.init a été appelé.
  • CommError : si W&B ne parvient pas à se connecter au backend W&B.
  • ValueError : si le fichier est introuvable ou si run_path ne peut pas être trouvé.

méthode Run.save()

Synchronise un ou plusieurs fichiers avec W&B. Les chemins relatifs sont résolus par rapport au répertoire de travail actuel. Un glob Unix, tel que « myfiles/* », est développé au moment où save est appelé, quelle que soit la policy. Autrement dit, les nouveaux fichiers ne sont pas pris en compte automatiquement. glob_str est développé à l’aide du module glob de Python : voir https://docs.python.org/3/library/glob.html pour connaître la syntaxe exacte et le comportement. En particulier, les caractères *, ? et [] sont traités comme des métacaractères glob, et non comme des caractères littéraux, même s’ils figurent dans un véritable nom de fichier (par exemple « myfile[1].txt »). Si le nom de votre fichier contient l’un de ces caractères et que vous souhaitez le faire correspondre littéralement plutôt que comme un motif, échappez-le vous-même avec glob.escape() avant d’appeler save, ou passez glob=False pour désactiver entièrement le développement des motifs et traiter glob_str comme un chemin littéral. Vous pouvez fournir un base_path pour contrôler l’arborescence des fichiers téléversés. Il doit s’agir d’un préfixe de glob_str, et l’arborescence située en dessous est conservée. Lorsqu’un chemin absolu ou un glob est fourni sans base_path, un seul niveau de répertoire est conservé, comme dans l’exemple ci-dessus. Les fichiers sont automatiquement dédupliqués : appeler save() plusieurs fois sur un même fichier non modifié ne le téléverse pas à nouveau.
str | os.PathLike
Un chemin relatif ou absolu, ou un glob Unix.
str | os.PathLike | None
Chemin utilisé pour déduire l’arborescence des répertoires ; voir les exemples.
PolicyName
L’une des valeurs live, now ou end.
  • live : téléverser le fichier à chaque modification, en écrasant la version précédente
  • now : téléverser le fichier une seule fois, immédiatement
  • end : téléverser le fichier à la fin du run
bool
Indique si glob_str doit être traité comme un motif glob. La valeur par défaut est True, pour des raisons de rétrocompatibilité. Définissez-la sur False pour traiter glob_str comme un chemin littéral, par exemple lorsque son nom contient des métacaractères glob tels que [, ], * ou ? que vous ne souhaitez pas voir interprétés comme un motif.

méthode Run.status()

Obtient auprès du backend interne les informations sur le statut de synchronisation du run actuel.

méthode Run.unwatch()

Supprime les hooks de topologie, de gradients et de paramètres du modèle PyTorch.
torch.nn.Module | Sequence[torch.nn.Module] | None
Liste facultative de modèles PyTorch sur lesquels watch a été appelé.

méthode Run.upsert_artifact()

Déclare un artifact non finalisé comme sortie d’un run (ou y ajoute du contenu). Notez que vous devez appeler run.finish_artifact() pour finaliser l’artifact. C’est utile lorsque plusieurs jobs distribués doivent contribuer au même artifact.
Artifact | str
Chemin vers le contenu de cet artifact, qui peut prendre les formes suivantes :
  • /local/directory
  • /local/directory/file.txt
  • s3://bucket/path
str | None
Nom de l’artifact. Peut être préfixé par « entity/project ». S’il n’est pas spécifié, le nom de base du chemin, précédé de l’ID du run actuel, est utilisé par défaut. Les noms valides peuvent prendre les formes suivantes :
  • name:version
  • name:alias
  • digest
str | None
Type d’artifact à journaliser. Exemples courants : dataset, model.
list[str] | None
Alias à appliquer à cet artifact. Valeur par défaut : ["latest"].
str | None
Chaîne unique partagée par tous les jobs distribués. Si None, le nom du groupe du run est utilisé par défaut.

méthode Run.use_artifact()

Déclare un artifact comme entrée d’un run. Appelez download ou file sur l’objet renvoyé pour récupérer son contenu en local.
str | Artifact
Le nom de l’artifact à utiliser. Il peut être préfixé par le nom du projet dans lequel l’artifact a été journalisé (« entity » ou « entity/project »). Si aucune entity n’est indiquée dans le nom, l’entity définie dans les paramètres du Run ou de l’API est utilisée. Les noms valides peuvent prendre les formes suivantes :
  • name:version
  • name:alias
str | None
Le type d’artifact à utiliser.
list[str] | None
Alias à appliquer à cet artifact
str | None
Cet argument est obsolète et n’a aucun effet.

méthode Run.use_model()

Télécharge les fichiers journalisés dans l’artifact de modèle ‘name’.
str
Nom d’un artifact de modèle. name doit correspondre au nom d’un artifact de modèle journalisé existant. Peut être préfixé par entity/project/. Les noms valides peuvent prendre les formes suivantes :
  • model_artifact_name:version
  • model_artifact_name:alias
  • AssertionError : si le type de l’artifact de modèle ‘name’ ne contient pas la sous-chaîne ‘model’.

méthode Run.watch()

S’attache au modèle PyTorch fourni pour surveiller ses gradients et son graphe de calcul. Cette fonction peut suivre les paramètres, les gradients, ou les deux, pendant l’entraînement.
torch.nn.Module | Sequence[torch.nn.Module]
Un modèle unique ou une séquence de modèles à surveiller.
torch.F | None
La fonction de perte à optimiser (facultatif).
Literal['gradients', 'parameters', 'all'] | None
Indique s’il faut journaliser les gradients (« gradients »), les paramètres (« parameters ») ou les deux (« all »). Définissez la valeur sur None pour désactiver la journalisation. (default=“gradients”).
int
Fréquence (en lots) de journalisation des gradients et des paramètres. (default=1000)
int | None
Index utilisé pour suivre plusieurs modèles avec wandb.watch. (default=None)
bool
Indique s’il faut journaliser le graphe de calcul du modèle. (default=False)
  • ValueError : si wandb.init() n’a pas été appelé ou si l’un des modèles n’est pas une instance de torch.nn.Module.

méthode Run.write_logs()

Écrit du texte dans l’onglet Logs du run. Utilisez write_logs pour écrire directement du texte dans l’onglet Logs au lieu de vous appuyer sur la capture automatique de stdout/stderr. Les appels effectués une fois le run terminé sont ignorés sans avertissement. Envisagez d’utiliser le paramètre capture_loggers, qui s’intègre au module logging de Python.
str
Le texte à écrire. Un saut de ligne final est ajouté s’il n’y en a pas.
Dernière modification le 30 septembre 2026