Passer au contenu principal
Lorsque vous exécutez un script dans un environnement automatisé, vous pouvez contrôler W&B à l’aide de variables d’environnement définies avant l’exécution du script ou directement dans le script.
# Ceci est secret et ne doit pas être intégré dans le contrôle de version
WANDB_API_KEY=$YOUR_API_KEY
# Nom et notes facultatifs
WANDB_NAME="My first run"
WANDB_NOTES="Smaller learning rate, more regularization."
# Nécessaire uniquement si vous ne versionnez pas le fichier wandb/settings
WANDB_ENTITY=$username
WANDB_PROJECT=$project
# Si vous ne souhaitez pas synchroniser votre script avec le cloud
os.environ["WANDB_MODE"] = "offline"

# Ajouter le suivi de l'ID de balayage aux objets Run et aux classes associées
os.environ["WANDB_SWEEP_ID"] = "b05fq58z"

Variables d’environnement facultatives

Utilisez ces variables d’environnement facultatives pour, par exemple, configurer l’authentification sur des machines distantes.
Nom de la variableUtilisation
WANDB_API_KEYDéfinit la clé d’authentification associée à votre compte. Créez une clé API dans les Paramètres utilisateur. Cette variable doit être définie si wandb login n’a pas été exécuté sur la machine distante.
WANDB_BASE_URLSi vous utilisez wandb/local, vous devez définir cette variable d’environnement sur http://YOUR_IP:YOUR_PORT
WANDB_CACHE_DIRPar défaut, l’emplacement est ~/.cache/wandb. Vous pouvez le remplacer avec cette variable d’environnement.
WANDB_CONFIG_DIRPar défaut, l’emplacement est ~/.config/wandb. Vous pouvez le remplacer avec cette variable d’environnement.
WANDB_CONFIG_PATHSListe de fichiers YAML séparés par des virgules à charger dans wandb.config. Voir configuration.
WANDB_CONSOLEDéfinissez cette valeur sur « off » pour désactiver la journalisation de stdout / stderr. La valeur par défaut est « on » dans les environnements qui le prennent en charge.
WANDB_DATA_DIREmplacement où téléverser les artifacts de staging. L’emplacement par défaut dépend de votre plateforme, car il utilise la valeur de user_data_dir du package Python platformdirs. Assurez-vous que ce répertoire existe et que l’utilisateur courant est autorisé à y écrire.
WANDB_DIREmplacement où stocker tous les fichiers générés. Si cette variable n’est pas définie, les fichiers sont stockés par défaut dans le répertoire wandb, relatif à votre script d’entraînement. Assurez-vous que ce répertoire existe et que l’utilisateur qui exécute le processus dispose des droits d’écriture. Cela ne contrôle pas l’emplacement des Artifacts téléchargés, que vous pouvez définir à l’aide de la variable d’environnement WANDB_ARTIFACT_DIR.
WANDB_ARTIFACT_DIREmplacement où stocker tous les Artifacts téléchargés. S’il n’est pas défini, le répertoire artifacts, situé par rapport à votre script d’entraînement, est utilisé par défaut. Assurez-vous que ce répertoire existe et que l’utilisateur exécutant le script a les droits d’écriture. Cela ne contrôle pas l’emplacement des fichiers de métadonnées générés, que vous pouvez définir à l’aide de la variable d’environnement WANDB_DIR.
WANDB_DISABLE_GITEmpêche wandb de rechercher un dépôt git et de récupérer le dernier commit / diff.
WANDB_DISABLE_CODEDéfinissez cette valeur sur true pour empêcher wandb d’enregistrer les notebooks ou les diffs Git. Le commit actuel sera toutefois toujours enregistré si vous êtes dans un dépôt Git.
WANDB_DOCKERDéfinissez cette variable sur le digest d’une image Docker pour permettre la restauration des runs. Cette valeur est définie automatiquement avec la commande wandb docker. Vous pouvez obtenir le digest d’une image en exécutant wandb docker my/image/name:tag --digest
WANDB_ENTITYL’entité associée à votre run. Si vous avez exécuté wandb init dans le répertoire de votre script d’entraînement, cela créera un répertoire nommé wandb et enregistrera une entité par défaut qui peut être ajoutée au contrôle de version. Si vous ne voulez pas créer ce fichier ou si vous souhaitez le remplacer, vous pouvez utiliser la variable d’environnement.
WANDB_ERROR_REPORTINGDéfinissez cette valeur sur false pour empêcher wandb de consigner les erreurs fatales dans son système de suivi des erreurs.
WANDB_HOSTDéfinissez cette valeur sur le nom d’hôte que vous souhaitez voir dans l’interface wandb si vous ne voulez pas utiliser celui fourni par le système.
WANDB_IGNORE_GLOBSDéfinissez cette valeur sur une liste de motifs de fichiers à ignorer, séparés par des virgules. Ces fichiers ne seront pas synchronisés avec le cloud.
WANDB_JOB_NAMESpécifiez un nom pour les jobs créés par wandb.
WANDB_JOB_TYPESpécifiez le type de job, par exemple “entraînement” ou “évaluation”, pour distinguer les différents types de runs. Voir regroupement pour plus d’informations.
WANDB_MODESi vous définissez cette variable sur “offline”, wandb enregistrera localement les métadonnées de votre run sans les synchroniser avec le serveur. Si vous la définissez sur disabled, wandb sera complètement désactivé.
WANDB_NAMELe nom lisible de votre run. S’il n’est pas défini, il sera généré aléatoirement.
WANDB_NOTEBOOK_NAMESi vous travaillez dans Jupyter, vous pouvez définir le nom du notebook avec cette variable. Nous essayons de le détecter automatiquement.
WANDB_NOTESDes notes plus détaillées sur votre run. Le Markdown est autorisé, et vous pourrez les modifier plus tard dans l’UI.
WANDB_PROJECTLe projet associé à votre run. Vous pouvez aussi le définir avec wandb init, mais la variable d’environnement prévaut sur cette valeur.
WANDB_RESUMEPar défaut, cette valeur est définie sur never. Si elle est définie sur auto, wandb reprendra automatiquement les Runs ayant échoué. Si elle est définie sur must, le run doit exister au démarrage. Si vous voulez toujours générer vos propres ID uniques, définissez cette valeur sur allow et définissez toujours WANDB_RUN_ID.
WANDB_RUN_GROUPIndiquez le nom de l’expérience pour regrouper automatiquement les runs. Voir le regroupement pour plus d’informations.
WANDB_RUN_IDDéfinissez cette valeur sur une chaîne globalement unique (par projet) correspondant à un run unique de votre script. Elle ne doit pas dépasser 64 caractères. Tous les caractères non alphanumériques seront remplacés par des tirets. Vous pouvez l’utiliser pour reprendre un run existant en cas d’échec.
WANDB_QUIETDéfinissez cette variable sur true pour que seuls les messages critiques soient envoyés vers la sortie standard. Dans ce cas, tous les journaux seront écrits dans $WANDB_DIR/debug.log.
WANDB_SILENTDéfinissez cette variable sur true pour désactiver les messages du journal de wandb. Cela est utile pour les commandes exécutées par script. Si cette option est définie, tous les journaux seront écrits dans $WANDB_DIR/debug.log.
WANDB_SHOW_RUNDéfinissez cette variable sur true pour ouvrir automatiquement un navigateur avec l’URL du run si votre système d’exploitation le prend en charge.
WANDB_SWEEP_IDAjoutez le suivi de l’ID de balayage aux objets Run et aux classes associées, et affichez-le dans l’UI.
WANDB_TAGSUne liste de tags séparés par des virgules à appliquer au run.
WANDB_USERNAMELe nom d’utilisateur d’un membre de votre Teams associé au run. Vous pouvez l’utiliser avec une clé API de compte de service pour attribuer les runs automatisés à des membres de votre Teams.
WANDB_USER_EMAILL’adresse e-mail d’un membre de votre Teams associé au run. Vous pouvez l’utiliser avec une clé API de compte de service pour attribuer les runs automatisés à des membres de votre Teams.

Environnements Singularity

Si vous exécutez des conteneurs avec Singularity, vous pouvez transmettre des variables d’environnement en ajoutant le préfixe SINGULARITYENV_ aux variables ci-dessus. Vous trouverez plus de détails sur les variables d’environnement de Singularity ici.

Exécuter sur AWS

Si vous exécutez des jobs batch sur AWS, vous pouvez facilement authentifier vos machines à l’aide de vos identifiants W&B. Créez une clé API dans les Paramètres utilisateur, puis définissez la variable d’environnement WANDB_API_KEY dans la spécification de tâche AWS Batch.