Skip to main content

classe wandb.Settings

Paramètres de configuration du SDK W&B. Cette classe gère les paramètres de configuration du SDK W&B et garantit la sécurité des types ainsi que la validation de tous les paramètres. Les paramètres sont accessibles sous forme d’attributs et peuvent être initialisés par programmation, via des variables d’environnement (préfixe WANDB_), et à l’aide de fichiers de configuration. Les paramètres sont organisés en trois catégories :
  1. Paramètres publics : options de configuration principales que les utilisateurs peuvent modifier en toute sécurité pour personnaliser le comportement de W&B en fonction de leurs besoins spécifiques.
  2. Paramètres internes : paramètres préfixés par « x_ » qui gèrent le comportement du SDK à bas niveau. Ces paramètres sont principalement destinés à un usage interne et au débogage. Bien qu’ils puissent être modifiés, ils ne sont pas considérés comme faisant partie de l’API publique et peuvent changer sans préavis dans les futures versions.
  3. Paramètres calculés : paramètres en lecture seule automatiquement dérivés d’autres paramètres ou de l’environnement.
Les paramètres sont chargés à partir de plusieurs sources. Lorsqu’un même paramètre est fourni par plusieurs sources, celle qui apparaît le plus bas dans la liste l’emporte. Par ordre de priorité croissante :
  1. Les valeurs par défaut définies sur ce modèle Settings.
  2. Les fichiers de configuration (~/.config/wandb/settings, ou le fichier settings dans le répertoire désigné par la variable d’environnement WANDB_CONFIG_DIR).
  3. Les variables d’environnement (celles préfixées par WANDB_, par ex. WANDB_MODE).
  4. Les valeurs détectées à partir de l’environnement d’exécution, telles que le nom d’hôte, le chemin du programme/script en cours d’exécution, l’exécutable Python, l’image Docker et les détails du notebook Jupyter.
  5. Les paramètres SageMaker, lors d’une exécution dans un environnement Amazon SageMaker.
  6. Le paramètre settings de wandb.setup().
  7. Le paramètre settings de wandb.init().
  8. Certains paramètres de wandb.init() (par exemple, mode= redéfinit le paramètre mode).

Arguments

  • allow_media_symlink : Indique s’il faut créer des liens symboliques vers les fichiers multimédias dans le répertoire du run. Si la valeur est true, des liens symboliques ou des liens physiques vers les fichiers multimédias seront créés dans le répertoire du run au lieu de les copier. Cela peut entraîner une journalisation plus rapide et une réduction de l’utilisation du disque. Toutefois, si vous supprimez ou modifiez les fichiers d’origine avant leur téléversement vers le serveur W&B, ces changements seront répercutés dans les données téléversées.
  • allow_offline_artifacts : Indicateur permettant de synchroniser les artifacts de tableau en mode hors ligne. Pour revenir à l’ancien comportement, définissez cette valeur sur False.
  • allow_val_change : Indicateur permettant de modifier les valeurs de Config après leur définition.
  • anonymous : Obsolète et sera supprimé.
  • api_key : La clé API W&B.
  • azure_account_url_to_access_key : Mappage des URL de compte Azure vers les clés d’accès correspondantes pour l’intégration Azure.
  • app_url_override : Redéfinit l’URL « app » de l’interface utilisateur W&B. L’app_url est normalement calculée à partir de base_url, mais ce paramètre peut être utilisé pour la définir explicitement. WANDB_APP_URL est la variable d’environnement correspondante.
  • base_url : URL du backend W&B pour la synchronisation des données.
  • code_dir : Répertoire contenant le code à suivre avec W&B.
  • config_paths : Chemins des fichiers à partir desquels charger la configuration dans l’objet Config.
  • console : type de capture de la console à utiliser. Valeurs possibles :
    • “auto” - Sélectionne automatiquement la méthode de capture de la console en fonction de l’environnement et de la configuration du système.
    • “off” - Désactive la capture de la console.
    • “redirect” - Redirige les descripteurs de fichiers de bas niveau pour capturer la sortie.
    • “wrap” - Redéfinit les méthodes d’écriture de sys.stdout/sys.stderr. Sera associé à “wrap_raw” ou “wrap_emu” selon l’état du système.
    • “wrap_raw” - Identique à “wrap”, mais capture directement la sortie brute au lieu de passer par un émulateur. Dérivé du paramètre wrap, il ne doit pas être défini manuellement.
    • “wrap_emu” - Identique à “wrap”, mais capture la sortie via un émulateur. Dérivé du paramètre wrap, il ne doit pas être défini manuellement.
  • console_multipart : Activer la journalisation multipart de la console. Lorsque la valeur est True, le SDK écrit la sortie de la console dans des fichiers horodatés du répertoire logs/, au lieu d’un seul fichier output.log. Chaque partie est téléversée dès sa fermeture, ce qui permet aux utilisateurs d’accéder aux journaux en temps réel pendant que le run est actif. La fréquence de rotation est contrôlée par console_chunk_max_bytes et/ou console_chunk_max_seconds. Si les deux limites sont définies sur 0, tous les journaux sont téléversés à la fin du run. Remarque : les fragments téléversés sont immuables ; les séquences de contrôle du terminal qui modifient les lignes précédentes (par exemple, les barres de progression utilisant des retours chariot) n’affectent que le fragment en cours.
  • console_chunk_max_bytes : Seuil de rotation basé sur la taille pour les journaux de console multipart, en octets. Démarre un nouveau fichier journal de console lorsque la partie en cours atteint cette taille. N’a d’effet que lorsque console_multipart est True. Peut être combiné avec console_chunk_max_seconds ; la première limite atteinte déclenche la rotation. Une valeur de 0 désactive la limite basée sur la taille.
  • console_chunk_max_seconds : Seuil de rotation basé sur le temps pour les journaux de console multipart, en secondes. Démarre un nouveau fichier journal de console une fois ce nombre de secondes écoulé depuis le début de la partie en cours. Nécessite que console_multipart soit True. Peut être utilisé avec console_chunk_max_bytes ; la première limite atteinte ferme la partie. Une valeur de 0 désactive la limite basée sur le temps.
  • capture_loggers : noms des loggers Python à capturer dans l’onglet Logs du run. Un mappage entre le nom du logger et le niveau de journalisation minimal. Lorsqu’il est défini, wandb installe un logging.Handler sur chaque logger nommé et le supprime lorsque le run se termine. Les enregistrements de journal émis par ces loggers sont publiés dans le run comme sortie de console, de manière similaire à la capture de stdout/stderr. Les entrées du journal sont formatées de la même façon qu’avec logging.basicConfig(), par exemple INFO:my_module:Some message. Ce format n’est actuellement pas personnalisable. Pour capturer tous les journaux, indiquez le nom du logger racine, qui est ‘root’. Ceci est indépendant du paramètre console : les deux peuvent être actifs simultanément. Exemple :
  • credentials_file : Chemin du fichier dans lequel écrire les jetons d’accès temporaires.
  • disable_code : Indique s’il faut désactiver la capture du code.
  • disable_git : Indique s’il faut désactiver la capture de l’état Git.
  • disable_git_fork_point : Indique s’il faut désactiver l’inférence du point de fork à partir des branches distantes Lorsqu’il est défini sur True, le SDK utilise le commit le plus récent de la branche upstream, si elle est définie. Sinon, il ne génère pas le patch de diff. Lorsqu’il est défini sur False, le SDK essaie d’utiliser le commit le plus récent de la branche upstream, si elle est définie. Sinon, il trouve le commit le plus proche parmi toutes les branches distantes. Cela peut affecter les performances des dépôts comportant de nombreuses branches upstream.
  • disable_job_creation : Indique s’il faut désactiver la création d’un artifact de job pour W&B Launch.
  • docker : L’image Docker utilisée pour exécuter le script.
  • email : L’adresse e-mail de l’utilisateur.
  • entity : L’entité W&B, par exemple un utilisateur ou une équipe.
  • organization : L’organisation W&B.
  • force : Indique s’il faut transmettre l’option force à wandb.login().
  • fork_from : Spécifie un point à partir duquel forker lors d’une exécution précédente d’un run. Le point est défini par l’ID du run, une métrique et sa valeur. Actuellement, seule la métrique ‘_step’ est prise en charge.
  • git_commit : Le hachage du commit Git à associer au run.
  • git_remote : Le remote Git à associer au run.
  • git_remote_url : L’URL du dépôt Git distant.
  • git_root : Répertoire racine du dépôt Git.
  • host : Nom d’hôte de la machine qui exécute le script.
  • http_proxy : Serveurs proxy personnalisés pour les requêtes HTTP vers W&B.
  • https_proxy : Serveurs proxy personnalisés pour les requêtes HTTPS vers W&B.
  • identity_token_file : Chemin du fichier contenant un jeton d’identité (JWT) pour l’authentification.
  • ignore_globs : Motifs glob Unix relatifs à files_dir indiquant les fichiers à exclure du téléversement.
  • init_timeout : Délai d’attente, en secondes, avant expiration de l’appel wandb.init.
  • finish_timeout : Délai d’attente, en secondes, pour le téléversement des données à la fin d’un run. Définir cette valeur peut limiter les coûts dus à des téléversements lents vers W&B à la fin d’un run, avec comme contrepartie que le run sera marqué comme planté et qu’il pourra manquer certaines données. Par défaut, run.finish() reste bloqué jusqu’à ce que toutes les données aient fini d’être téléversées. Si cette valeur est définie sur un nombre supérieur à zéro, W&B abandonne le téléversement des données d’un run après ce nombre de secondes à la fin du run, ce qui débloque votre script. Après un certain temps, le run passe à l’état Crashed ou Failed dans l’interface utilisateur. Toutes les données non téléversées sont quand même stockées sur le disque et peuvent être téléversées avec wandb sync. Utilisez le paramètre finish_timeout_raises pour lever une erreur en plus d’afficher un message d’avertissement. Les runs arrêtés par wandb.teardown() (qui s’exécute automatiquement à la fin d’un script dans un hook atexit) respecteront également ce paramètre.
  • finish_timeout_raises : Indique s’il faut lever une TimeoutError si finish_timeout expire. Utiliser ce paramètre avec finish_timeout amène run.finish() à lever une TimeoutError après expiration du délai, en plus d’afficher un message. Notez que run.finish() est appelé implicitement lorsque vous utilisez un Run comme gestionnaire de contexte : with wandb.init() as run: … # run.finish() s’exécute à la fin du bloc with Cela n’amène pas wandb.teardown() à lever une erreur (puisqu’il s’exécute de toute façon à la fin d’un script).
  • insecure_disable_ssl : Indique s’il faut désactiver, de manière non sécurisée, la vérification SSL.
  • job_name : Nom du job Launch qui exécute le script.
  • job_source: Type de source pour Launch.
  • label_disable: Indique s’il faut désactiver les fonctionnalités d’étiquetage automatique.
  • launch_config_path: Chemin vers le fichier de configuration de Launch.
  • login_timeout: Durée d’attente, en secondes, avant expiration des opérations de connexion.
  • mode: Mode de fonctionnement de la journalisation et de la synchronisation W&B.
  • notebook_name: Nom du notebook si l’exécution a lieu dans un environnement de type Jupyter.
  • program: Chemin vers le script qui a créé le run, s’il est disponible.
  • program_abspath: Chemin absolu entre le répertoire racine du dépôt et le script qui a créé le run. Le répertoire racine du dépôt est défini comme le répertoire contenant le répertoire .git, s’il existe. Sinon, il s’agit du répertoire de travail courant.
  • program_relpath: Chemin relatif vers le script qui a créé le run.
  • project: ID du projet W&B.
  • quiet: Indicateur permettant de supprimer la sortie non essentielle.
  • reinit : que faire si wandb.init() est appelé alors qu’un run est déjà actif. Options :
    • “default” : Utiliser “finish_previous” dans les notebooks et “return_previous” dans les autres cas.
    • “return_previous” : Renvoyer l’exécution la plus récemment créée qui n’est pas encore terminée. Cela ne met pas à jour wandb.run ; voir l’option “create_new”.
    • “finish_previous” : Terminer toutes les exécutions actives, puis renvoyer une nouvelle exécution.
    • “create_new” : Créer une nouvelle exécution sans modifier les autres exécutions actives. Ne met pas à jour wandb.run ni les fonctions de premier niveau comme wandb.log. C’est pourquoi certaines intégrations plus anciennes qui reposent sur le run global ne fonctionneront pas.
    Peut également être un booléen, mais cette utilisation est obsolète. False équivaut à “return_previous”, et True équivaut à “finish_previous”.
  • relogin : indicateur permettant de forcer une nouvelle tentative de connexion.
  • resume : Indique comment reprendre le run. Options :
    • “must”: Reprend un run existant avec le même ID. Si aucun run correspondant n’existe, l’opération échoue.
    • “allow”: Tente de reprendre un run existant avec le même ID. Si aucun n’est trouvé, un nouveau run est créé.
    • “never”: Démarre toujours un nouveau run. Si un run avec le même ID existe déjà, l’opération échoue.
    • “auto”: Reprend automatiquement le run en échec le plus récent sur la même machine.
  • resume_from : Spécifie un point d’une exécution précédente d’un run à partir duquel reprendre. Ce point est défini par l’ID du run, une métrique et sa valeur. Actuellement, seule la métrique ‘_step’ est prise en charge.
  • root_dir : Répertoire racine à utiliser comme base pour tous les chemins liés au run. Il est notamment utilisé pour déterminer le répertoire wandb et le répertoire du run.
  • run_group : Identifiant de groupe pour les runs associés. Utilisé pour regrouper les runs dans l’interface utilisateur.
  • run_id : ID du run.
  • run_job_type : Type de job exécuté (par ex. : entraînement, évaluation).
  • run_name : Nom lisible du run.
  • run_notes : Notes ou description supplémentaires du run.
  • run_tags : Tags à associer au run pour l’organisation et le filtrage.
  • sagemaker_disable : Indicateur permettant de désactiver les fonctionnalités spécifiques à SageMaker.
  • save_code : Indique s’il faut enregistrer le code associé au run.
  • settings_system : Chemin vers le fichier de paramètres global du système.
  • stop_fn : Fonction de rappel à exécuter pour arrêter le run. Un run peut être arrêté via l’interface utilisateur web, ou après une erreur fatale (si cela est configuré via un paramètre). Par défaut, pour arrêter un run, W&B envoie un SIGINT au thread principal. Définissez cette fonction de rappel pour modifier ce comportement, par exemple pour utiliser un signal différent ou effectuer une autre action avant l’interruption. La fonction de rappel s’exécute dans un thread distinct. Elle s’exécute peu après qu’un arrêt est demandé, mais pas immédiatement.
  • max_end_of_run_history_metrics : Nombre maximum de mini-graphiques d’historique à afficher à la fin d’un run.
  • max_end_of_run_summary_metrics : Nombre maximum de métriques de synthèse à afficher à la fin d’un run.
  • show_errors : Indique s’il faut afficher les messages d’erreur.
  • show_info : Indique s’il faut afficher les messages d’information.
  • show_warnings : Indique s’il faut afficher les messages d’avertissement.
  • silent : Indicateur permettant de désactiver toute sortie.
  • stop_on_fatal_error : Indique s’il faut arrêter le run après une erreur fatale. Lorsque W&B rencontre une erreur irrécupérable lors du téléversement des données, il affiche un message et arrête le téléversement, tout en permettant encore de journaliser davantage de données. Cela est généralement souhaitable : vos métriques d’entraînement sont stockées sur le disque et peuvent être récupérées avec wandb sync, même si elles ne sont pas téléversées. Cela n’est pas utile si vos fichiers sont supprimés après l’entraînement. Dans ce cas, définir ce paramètre sur True arrêtera le run après une erreur fatale, comme si le bouton d’arrêt avait été pressé dans l’interface utilisateur web.
  • strict : Indique s’il faut activer le mode strict pour la validation et la vérification des erreurs.
  • summary_timeout : Durée, en secondes, d’attente des opérations de synthèse avant expiration du délai.
  • sweep_id : Identifiant du sweep auquel appartient ce run.
  • sweep_param_path : Chemin vers la configuration des paramètres du sweep.
  • symlink : Indique s’il faut utiliser des liens symboliques (True par défaut, sauf sous Windows).
  • sync_tensorboard : Indique s’il faut synchroniser les logs TensorBoard avec W&B.
  • table_raise_on_max_row_limit_exceeded : Indique s’il faut lever une exception lorsque la limite de lignes du tableau est dépassée.
  • use_dot_wandb : Indique s’il faut utiliser un répertoire caché .wandb ou un répertoire visible wandb pour les données de run. Si True, le SDK utilise .wandb. Si False, wandb. Si la valeur n’est pas définie, la valeur par défaut est .wandb s’il existe déjà, sinon wandb.
  • username : Nom d’utilisateur.
  • x_disable_meta : Indicateur pour désactiver la collecte des métadonnées système.
  • x_disable_stats : Indicateur pour désactiver la collecte des métriques système.
  • x_extra_http_headers : En-têtes supplémentaires à ajouter à toutes les requêtes HTTP sortantes.
  • x_label : Libellé à attribuer aux métriques système et aux journaux de console collectés pour le run. Il est utilisé pour regrouper les données dans l’interface et peut servir à distinguer les données provenant de différents processus dans une tâche d’entraînement distribué.
  • x_primary : Détermine s’il faut enregistrer les fichiers wandb internes et les métadonnées. Dans un environnement distribué, cela permet d’éviter l’écrasement de fichiers par des processus secondaires lorsque seules les métriques système et les journaux sont nécessaires, car le processus principal gère l’essentiel de la journalisation.
  • x_save_requirements : Indicateur pour enregistrer le fichier requirements.
  • x_server_side_derived_summary : Indicateur pour déléguer au serveur le calcul automatique de la synthèse à partir de l’historique. Cela ne désactive pas les mises à jour de synthèse fournies par l’utilisateur.
  • x_service_wait : Temps d’attente, en secondes, pour le démarrage du service interne wandb-core.
  • x_skip_transaction_log : Indique s’il faut ignorer l’enregistrement des événements du run dans le journal des transactions. Cela concerne uniquement les runs en ligne. Cette option peut être utilisée pour réduire la quantité de données écrites sur disque. À utiliser avec prudence, car cela supprime les garanties de récupération.
  • x_stats_sampling_interval : Intervalle d’échantillonnage du moniteur système, en secondes.
  • x_stats_open_metrics_endpoints : Points de terminaison OpenMetrics /metrics à surveiller pour les métriques système.
  • x_stats_open_metrics_filters: Filtre à appliquer aux métriques collectées depuis les points de terminaison OpenMetrics /metrics. Deux formats sont pris en charge :
    • {"motif regex de métrique, incluant le nom du point de terminaison comme préfixe": {"label": "motif regex de valeur de label"}}
    • ("motif regex de métrique 1", "motif regex de métrique 2", ...)
  • x_stats_open_metrics_http_headers : en-têtes HTTP à ajouter aux requêtes OpenMetrics.
  • x_stats_disk_paths : chemins système à surveiller pour l’utilisation du disque.
  • x_stats_cpu_count : nombre de CPU du système. Si cette valeur est définie, elle remplace la valeur détectée automatiquement dans les métadonnées de l’exécution.
  • x_stats_cpu_logical_count : nombre de CPU logiques. Si cette valeur est définie, elle remplace la valeur détectée automatiquement dans les métadonnées de l’exécution.
  • x_stats_gpu_count : nombre de périphériques GPU. Si cette valeur est définie, elle remplace la valeur détectée automatiquement dans les métadonnées de l’exécution.
  • x_stats_gpu_type : type de périphérique GPU. Si cette valeur est définie, elle remplace la valeur détectée automatiquement dans les métadonnées de l’exécution.
  • x_stats_gpu_device_ids : indices des périphériques GPU à surveiller. Si cette valeur n’est pas définie, le moniteur système collecte les métriques de tous les GPU. Suppose un indexage à partir de 0, conforme à l’énumération des périphériques CUDA/ROCm.
  • x_stats_track_process_tree : surveiller l’ensemble de l’arborescence des processus pour l’utilisation des ressources, à partir de x_stats_pid. Lorsque True, le moniteur système agrège le RSS, le CPU% et le nombre de threads du processus ayant le PID x_stats_pid ainsi que de tous ses descendants. Cela peut entraîner un surcoût en performances et est désactivé par défaut.
  • x_stats_no_cgroup : désactiver les limites de CPU et de mémoire de cgroup v2 pour les pourcentages des métriques système.
  • x_sync_dir_suffix : suffixe à ajouter au nom du répertoire de l’exécution (sync_dir). Cette valeur est définie dans wandb.init() pour éviter les conflits de noms. Si elle est définie, elle est ajoutée au nom par défaut avec un tiret.
  • x_update_finish_state : indicateur précisant si ce processus peut mettre à jour l’état final de l’exécution sur le serveur. Définissez cette valeur sur False dans un entraînement distribué lorsque seul le processus principal doit déterminer l’état final.

Propriétés

propriété app_url

L’URL de l’interface utilisateur de W&B, généralement https://wandb.ai. Elle diffère de base_url (par exemple https://api.wandb.ai), qui sert à accéder aux API W&B de manière programmatique.

propriété colab_url

L’URL du notebook Colab, si l’exécution a lieu dans Colab.

propriété déploiement

propriété files_dir

Chemin absolu du répertoire local où sont stockés les fichiers du run.

propriété is_local

propriété log_dir

Le répertoire dans lequel stocker les fichiers de journalisation.

propriété log_internal

Chemin du fichier à utiliser pour les journaux internes. Le chemin vers le lien symbolique du fichier journal interne du run le plus récent. Le chemin du lien symbolique vers le fichier journal du processus utilisateur du dernier run.

propriété log_user

Le chemin du fichier à utiliser pour les journaux du processus de l’utilisateur.

propriété project_url

L’URL W&B où le projet peut être consulté.

propriété resume_fname

Le chemin du fichier de reprise.

propriété run_mode

Le mode du run. Peut être « run » ou « offline-run ».

propriété run_url

L’URL W&B où le run peut être consulté.

propriété settings_workspace

Le chemin vers le fichier de paramètres de l’espace de travail.

propriété sweep_url

L’URL W&B où le sweep peut être consulté.

propriété sync_dir

Le répertoire où sont stockés les fichiers du run.

propriété sync_file

Chemin vers le fichier journal des transactions binaires en mode ajout uniquement. Chemin du lien symbolique vers le fichier journal des transactions du run le plus récent.

propriété timespec

La spécification temporelle associée au run.

propriété wandb_dir

Chemin complet vers le répertoire wandb.

Méthodes

méthode Settings.validate_anonymous()

Arguments
  • value:

méthode Settings.validate_x_extra_http_headers()

Arguments
  • value:

méthode Settings.validate_x_stats_coreweave_metadata_base_url()

Arguments
  • value: