class Run
Une unité de calcul enregistrée par W&B. Il s’agit généralement d’une expérience de machine learning.
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 run unique. Voir Log distributed training experiments pour plus d’informations.
Vous pouvez enregistrer des données dans un run avec wandb.Run.log(). Tout ce que vous enregistrez avec wandb.Run.log() est envoyé à ce run. Voir Create an experiment ou la page de référence de l’API wandb.init pour plus d’informations.
Il existe un autre objet Run dans l’espace de noms wandb.apis.public. Utilisez cet objet pour interagir avec des runs déjà créés.
Attributs :
summary: (Summary) Résumé du run, sous la forme d’un objet de type dictionnaire. Pour plus d’informations, voir[Log summary metrics](https: //docs.wandb.ai/guides/track/log/log-summary/).
wandb.init() :
propriété Run.config
Objet de configuration associé à ce run. Retourne :wandb_config.Config: La valeur de propriétéconfig.
propriété Run.config_static
Objet de configuration statique associé à ce run. Retourne :wandb_config.ConfigStatic: La valeur de propriété config_static.
propriété Run.dir
Répertoire dans lequel sont enregistrés les fichiers associés au run. Retourne :str: La valeur de propriétédir.
propriété Run.disabled
Vrai si le run est désactivé, faux sinon. Retourne :bool: La valeur de propriété disabled.
propriété Run.entity
Le nom de l’entité W&B associée au run. L’entité peut correspondre à un nom d’utilisateur ou au nom d’une équipe ou d’une organisation. Retourne :str: La valeur de propriété entité.
propriété Run.group
Renvoie le nom du groupe associé à ce run. Le regroupement de runs permet d’organiser et de visualiser ensemble des expériences liées dans l’UI W&B. Cela est particulièrement utile dans des cas comme l’entraînement distribué ou la validation croisée, où plusieurs runs doivent être affichés et gérés comme une expérience unique. En mode partagé, où tous les processus partagent le même objet run, définir un groupe est généralement inutile, puisqu’il n’y a qu’un seul run et qu’aucun regroupement n’est nécessaire. Retourne :str: La valeur de propriété group.
propriété Run.id
L’identifiant de ce run. Retourne :str: La valeur de propriété id.
propriété Run.job_type
Nom du type de job associé au run. Vous pouvez voir le type de job d’un run sur la page Aperçu du run dans la W&B App. Vous pouvez l’utiliser pour classer les runs par type de job, par exemple « entraînement », « évaluation » ou « inférence ». C’est utile pour organiser et filtrer les runs dans l’interface W&B, en particulier lorsque vous avez plusieurs runs avec différents types de job dans le même projet. Pour plus d’informations, voir Organiser les runs. Retourne :str: La valeur de propriété job_type.
propriété Run.name
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. Retourne :str | None: La valeur de propriéténame.
propriété Run.notes
Notes associées au run, s’il y en a. Les notes peuvent être une chaîne multilignes et utiliser également du Markdown ainsi que des équations LaTeX entre$$, par exemple $x + 3$.
Retourne :
str | None: La valeur de propriéténotes.
propriété Run.offline
True si le run est hors ligne, False sinon. Retourne :bool: La valeur de propriété offline.
propriété Run.path
Chemin du run. Les chemins de run incluent l’entité, le projet et l’ID du run, au formatentity/project/run_id.
Retourne :
str: La valeur de la propriétépath.
propriété Run.project
Nom du projet W&B associé au run. Retourne :str: La valeur de propriété du projet.
propriété Run.project_url
URL du projet W&B associé au run, le cas échéant. Les runs hors ligne n’ont pas d’URL de projet. Retourne :str | None: La valeur de propriété project_url.
propriété Run.resumed
Vrai si le run a été repris, Faux sinon. Retourne :bool: La valeur de propriétéresumed.
propriété Run.settings
Une copie immuable de l’objet Settings du run. Retourne :Settings: La valeur de propriété settings.
propriété Run.start_time
Horodatage Unix (en secondes) indiquant quand le run a démarré. Retourne :float: La valeur de propriété start_time.
propriété Run.sweep_id
Identifiant du balayage associé au run, le cas échéant. Retourne :str | None: La valeur de propriétésweep_id.
propriété Run.sweep_url
URL du balayage associé au run, le cas échéant. Les runs hors ligne n’ont pas d’URL de balayage. Retourne :str | None: La valeur de propriétésweep_url.
propriété Run.tags
Les tags associés au run, le cas échéant. Retourne :tuple | None: La valeur de propriété tags.
propriété Run.url
L’URL du run W&B, s’il en existe une. Les runs hors ligne n’ont pas d’URL. Retourne :str | None: La valeur de la propriété url.
méthode Run.alert
title: Le titre de l’alerte ; il doit comporter moins de 64 caractères.text: Le corps de l’alerte.level: Le niveau d’alerte à utiliser, parmi :INFO,WARNouERROR.wait_duration: Le délai d’attente (en secondes) avant d’envoyer une autre alerte avec ce titre.
méthode Run.define_metric
wandb.Run.log().
Arguments :
name: Le nom de la métrique à personnaliser.step_metric: Le nom d’une autre métrique qui servira d’axe X pour cette métrique dans les graphiques générés automatiquement.step_sync: Insère automatiquement la dernière valeur de step_metric danswandb.Run.log()si elle n’est pas fournie explicitement. La valeur par défaut est True si step_metric est spécifiée.hidden: Masque cette métrique dans les graphiques générés automatiquement.summary: Spécifie les métriques agrégées ajoutées à summary. Les agrégations prises en charge incluent “min”, “max”, “mean”, “last”, “first”, “best”, “copy” et “none”. “none” empêche la génération d’un summary. “best” est utilisé avec le paramètre goal, mais “best” est obsolète et ne doit pas être utilisé ; utilisez “min” ou “max” à la place. “copy” est obsolète et ne doit pas être utilisé.goal: Spécifie comment interpréter le type de summary “best”. Les options prises en charge sont “minimize” et “maximize”. “goal” est obsolète et ne doit pas être utilisé ; utilisez “min” ou “max” à la place.overwrite: Si false, cet appel est fusionné avec les appels précédents àdefine_metricpour la même métrique en utilisant leurs valeurs pour tous les paramètres non spécifiés. Si true, les paramètres non spécifiés remplacent les valeurs définies par les appels précédents.
méthode Run.display
méthode Run.finish
- Running : run actif qui journalise des données et/ou envoie des signaux de pulsation.
- Crashed : run qui a cessé d’envoyer des signaux de pulsation de façon 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.
exit_code: Entier indiquant le statut de sortie du run. Utilisez 0 pour signaler une réussite ; toute autre valeur marque le run comme échoué.quiet: Obsolète. Configurez la verbosité du logging avecwandb.Settings(quiet=...).
méthode Run.finish_artifact
artifact_or_path: Chemin vers le contenu de cet artifact, pouvant prendre les formes suivantes :/local/directory/local/directory/file.txts3://bucket/pathVous pouvez également passer un objet Artifact créé en appelantwandb.Artifact.
name: Nom d’un artifact. Peut être préfixé par entité/projet. 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 sera le nom de base du chemin, précédé de l’ID du run actuel.
type: Le type d’artifact à journaliser, par exempledataset,modelaliases: Alias à appliquer à cet artifact, valeurs par défaut :["latest"]distributed_id: 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.
Artifact.
méthode Run.link_artifact
artifact: L’objet artifact à lier à la collection.target_path: Le chemin de la collection. Il se compose du préfixe “wandb-registry-”, ainsi que du nom du registre et du nom de la collection :wandb-registry-{REGISTRY_NAME}/{COLLECTION_NAME}.aliases: Ajoutez un ou plusieurs alias à l’artifact lié. L’alias “latest” est automatiquement appliqué à l’artifact le plus récent que vous liez.
méthode Run.link_model
- Vérifie si l’artifact de modèle ‘name’ a été enregistré. Si c’est le cas, utilise la version de l’artifact correspondant aux fichiers situés à ‘path’ ou enregistre une nouvelle version. Sinon, elle enregistre les fichiers sous ‘path’ en tant que nouvel artifact de modèle, ‘name’, de type ‘model’.
- Vérifie si un modèle enregistré nommé ‘registered_model_name’ existe dans le projet ‘model-registry’. Sinon, crée un nouveau modèle enregistré nommé ‘registered_model_name’.
- Lie la version de l’artifact de modèle ‘name’ au modèle enregistré ‘registered_model_name’.
- Attache les alias de la liste ‘aliases’ à la version de l’artifact de modèle nouvellement liée.
path: (str) Chemin vers le contenu de ce modèle, pouvant prendre les formes suivantes :/local/directory/local/directory/file.txts3://bucket/path
registered_model_name: 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, représentant généralement une tâche de ML propre à une équipe. L’entité à laquelle ce modèle enregistré appartient est dérivée du run.name: Nom de l’artifact de modèle dans lequel les fichiers de ‘path’ seront enregistrés. Par défaut, il s’agit du nom de base du chemin, précédé de l’ID du run actuel, s’il n’est pas spécifié.aliases: Alias appliqués uniquement à cet artifact lié dans le modèle enregistré. L’alias “latest” est toujours appliqué à la version la plus récente d’un artifact lié.
AssertionError: Si registered_model_name est un chemin ou si l’artifact de modèle ‘name’ est d’un type ne contenant pas la sous-chaîne ‘model’.ValueError: Si name contient des caractères spéciaux non valides.
None.
méthode Run.log
log pour journaliser les données des runs, comme des scalaires, des images, des vidéos, des histogrammes, des graphiques et des tableaux. Voir Journaliser des objets et des médias pour des extraits de code, des bonnes pratiques et plus encore.
Utilisation de base :
wandb.Table pour enregistrer des données structurées. Voir le tutoriel Enregistrer des tableaux, visualiser et interroger des données pour plus de détails.
W&B organise 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, ce qui suit produit deux sections nommées “train” et “validate” :
run.log({"a/b/c": 1}) crée 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 accumulez les données sur plusieurs itérations et consignez-les en une seule étape.
Par défaut, chaque appel à log crée une nouvelle “étape”. L’étape doit toujours être croissante, et il n’est pas possible de journaliser dans une étape précédente. 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 l’étape W&B comme un horodatage plutôt que comme une étape d’entraînement.
wandb.Run.log() pour journaliser sur la même étape grâce aux paramètres step et commit. Les opérations suivantes sont toutes équivalentes :
data: Undictavec des clésstret des valeurs sérialisablesObjets Python, notamment:int,floatetstring; n’importe lequel deswandb.data_types; des listes, tuples et tableaux NumPy d’objets Python sérialisables ; d’autresdictde même structure.step: Le numéro d’étape à consigner. SiNone, une étape implicite auto-incrémentée est utilisée. Voir les notes dans la description.commit: Si true, finalise et téléverse l’étape. Si false, les données de l’étape sont alors accumulées. Voir les notes dans la description. SistepestNone, la valeur par défaut estcommit=True; sinon, la valeur par défaut estcommit=False.
wandb.Error: Si cette méthode est appelée avantwandb.init().ValueError: Si des données invalides sont transmises.
méthode Run.log_artifact
artifact_or_path: (str ou Artifact) Chemin vers le contenu de cet artifact, sous l’une des formes suivantes :/local/directory/local/directory/file.txts3://bucket/pathVous pouvez également transmettre un objet Artifact créé en appelantwandb.Artifact.
name: (str, facultatif) Nom d’artifact. Les noms valides peuvent prendre les formes suivantes :- name:version
- name:alias
- digest Si ce paramètre n’est pas spécifié, la valeur par défaut est le nom de base du chemin, préfixé par l’ID du run actuel.
type: (str) Type d’artifact à enregistrer, par exempledataset,modelaliases: (list, facultatif) Alias à appliquer à cet artifact. La valeur par défaut est["latest"]tags: (list, facultatif) Tags à appliquer à cet artifact, le cas échéant.
Artifact.
méthode Run.log_code
.py.
Arguments :
root: Le chemin relatif (par rapport àos.getcwd()) ou absolu à partir duquel rechercher le code de manière récursive.name: (str, facultatif) Le nom de notre artifact de code. Par défaut, l’artifact sera nommésource-$PROJECT_ID-$ENTRYPOINT_RELPATH. Dans certains cas, vous pouvez vouloir que plusieurs runs partagent le même artifact. Spécifier un nom vous permet de le faire.include_fn: Une fonction qui accepte un chemin de fichier et, éventuellement, un chemin racine, puis renvoieTrues’il doit être inclus etFalsesinon. Par défaut, c’estdefaults tolambda path, root: path.endswith(".py").exclude_fn: Une fonction qui accepte un chemin de fichier et, éventuellement, un chemin racine, puis renvoieTrues’il doit être exclu etFalsesinon. Par défaut, une fonction exclut tous les fichiers des répertoires<root>/.wandb/et<root>/wandb/.
Artifact si du code a été enregistré
méthode Run.log_model
path: (str) Chemin vers le contenu de ce modèle, pouvant prendre les formes suivantes :/local/directory/local/directory/file.txts3://bucket/path
name: Nom à attribuer à l’artifact de modèle auquel le contenu du fichier sera ajouté. Par défaut, il s’agit du nom de base du chemin, précédé de l’ID du run actuel, s’il n’est pas spécifié.aliases: Alias à appliquer à l’artifact de modèle créé, avec["latest"]comme valeur par défaut
ValueError: Sinamecontient des caractères spéciaux non valides.
méthode Run.mark_preempting
méthode Run.restore
name: Le nom du fichier.run_path: Chemin facultatif vers un run à partir duquel récupérer des fichiers, c.-à-d.username/project_name/run_idsi wandb.init n’a pas été appelé, ce paramètre est requis.replace: Indique s’il faut télécharger le fichier même s’il existe déjà localementroot: Le répertoire dans lequel télécharger le fichier. Valeur par défaut : le répertoire courant, ou le répertoire du run si wandb.init a été appelé.
None s’il est impossible de trouver le fichier, sinon un objet fichier ouvert en lecture.
Exceptions levées :
CommError: Si W&B ne peut pas se connecter au backend W&B.ValueError: Si le fichier est introuvable ou sirun_pathest introuvable.
méthode Run.save
save, quelle que soit la valeur de policy. En particulier, les nouveaux fichiers ne sont pas ajoutés automatiquement.
Vous pouvez fournir un base_path pour contrôler la structure de répertoires des fichiers téléversés. Il doit être un préfixe de glob_str, et la structure de répertoires située en dessous est conservée.
Lorsqu’un chemin absolu ou un glob est fourni sans base_path, un niveau de répertoire est conservé, comme dans l’exemple ci-dessus.
Les fichiers sont automatiquement dédupliqués : appeler save() plusieurs fois sur le même fichier sans le modifier ne le téléverse pas à nouveau.
Arguments :
glob_str: Un chemin relatif ou absolu, ou un glob Unix.base_path: Un chemin utilisé pour déduire une structure de répertoires ; voir les exemples.policy: L’une des valeurslive,nowouend.- live: téléverser le fichier à mesure qu’il change, en remplaçant 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
méthode Run.status
méthode Run.unwatch
models: liste facultative de modèles PyTorch sur lesquelswatcha été appelé.
méthode Run.upsert_artifact
artifact_or_path: Chemin vers le contenu de cet artifact. Il peut prendre les formes suivantes :/local/directory/local/directory/file.txts3://bucket/path
name: Nom d’artifact. Peut être préfixé par “entité/projet”. Par défaut, s’il n’est pas spécifié, il correspond au nom de base du chemin, précédé du current run ID. Les noms valides peuvent prendre les formes suivantes :- name:version
- name:alias
- digest
type: Type d’artifact à journaliser. Exemples courants :dataset,model.aliases: Alias à appliquer à cet artifact. La valeur par défaut est["latest"].distributed_id: Chaîne unique partagée par tous les jobs distribués. SiNone, la valeur par défaut est le nom du groupe du run.
Artifact.
méthode Run.use_artifact
download ou file sur l’objet renvoyé pour récupérer son contenu en local.
Arguments :
artifact_or_name: Le nom de l’artifact à utiliser. Il peut être préfixé par le nom du projet dans lequel l’artifact a été enregistré (“entité” ou “entité/projet”). Si aucune entité n’est spécifiée dans le nom, l’entité du Run ou de la configuration de l’API est utilisée. Les noms valides peuvent prendre les formes suivantes- nom:version
- nom:alias
type: Le type d’artifact à utiliser.aliases: Alias à appliquer à cet artifactuse_as: Cet argument est obsolète et n’a aucun effet.
Artifact.
Exemples :
méthode Run.use_model
name.
Arguments :
name: nom d’un artifact de modèle.namedoit correspondre au nom d’un artifact de modèle existant déjà enregistré. Peut être préfixé parentity/project/. Les noms valides peuvent prendre les formes suivantes- model_artifact_name:version
- model_artifact_name:alias
path(str) : chemin d’accès au(x) fichier(s) de l’artifact de modèle téléchargé(s).
AssertionError: si l’artifact de modèlenameest d’un type qui ne contient pas la sous-chaînemodel.
méthode Run.watch
models: Un seul modèle ou une séquence de modèles à surveiller.criterion: La fonction de perte en cours d’optimisation (facultatif).log: Indique s’il faut journaliser “gradients”, “parameters” ou “all”. Définissez cette valeur sur None pour désactiver la journalisation. (par défaut=“gradients”).log_freq: Fréquence (en lots) à laquelle journaliser les gradients et les paramètres. (par défaut=1000)idx: Indice utilisé lors du suivi de plusieurs modèles avecwandb.watch. (par défaut=None)log_graph: Indique s’il faut journaliser le graphe de calcul du modèle. (par défaut=False)
wandb.init() n’a pas été appelé ou si l’un des modèles n’est pas une instance de torch.nn.Module.