Hydra est un framework Python open source qui simplifie le développement d’applications de recherche et d’autres applications complexes. Sa principale fonctionnalité est de permettre la création dynamique d’une configuration hiérarchique par composition, puis sa surcharge via des fichiers de configuration et la ligne de commande.Vous pouvez continuer à utiliser Hydra pour gérer la configuration tout en tirant parti de la puissance de W&B.
Suivre les métriques
wandb.init() et wandb.Run.log(). Ici, wandb.entity et wandb.project sont définis dans un fichier de configuration Hydra.
Suivre les hyperparamètres
omegaconf.DictConfig) ne sont pas de simples instances Python de dict.
wandb.Run.config est une propriété en lecture seule, ce qui signifie que wandb.Run.config = ... lève une exception AttributeError si vous essayez de lui passer un objet de configuration OmegaConf.
Convertissez cfg en dict Python standard avec OmegaConf.to_container(), puis passez-le à wandb.init(config=...) (ou appelez wandb.Run.config.update(...)).
Résoudre les problèmes liés au multiprocessing
wandb.init() comme suit :
Optimiser les hyperparamètres
sweep.yaml serait :
wandb agent à exécuter sur chaque machine où vous souhaitez lancer ce balayage.
Passer des paramètres non présents dans les valeurs par défaut d’Hydra
+ avant la commande. Par exemple, vous pouvez passer un paramètre supplémentaire avec une certaine valeur en appelant simplement :
+, comme on le fait lors de la configuration des Hydra Expériences. Pour contourner ce problème, vous pouvez initialiser le paramètre d’expérience avec un fichier vide par défaut, puis utiliser W&B Sweep pour remplacer ces configurations vides à chaque appel. Pour plus d’informations, consultez ce Reports W&B.