Skip to main content
spaCy est une bibliothèque de TAL populaire « de niveau industriel » : des modèles rapides et précis, sans complexité inutile. Depuis spaCy v3, W&B peut désormais être utilisé avec spacy train pour suivre les métriques d’entraînement de votre modèle spaCy, ainsi que pour enregistrer et versionner vos modèles et jeux de données. Il suffit pour cela d’ajouter quelques lignes à votre configuration.

Inscrivez-vous et créez une clé API

Une clé API authentifie votre machine auprès de W&B. Vous pouvez générer une clé API depuis votre profil.
Pour une méthode plus directe, créez une clé API en accédant directement aux Paramètres utilisateur. Copiez immédiatement la clé API nouvellement créée et conservez-la dans un endroit sûr, par exemple dans un gestionnaire de mots de passe.
  1. Cliquez sur l’icône de votre profil dans l’angle supérieur droit.
  2. Sélectionnez Paramètres utilisateur, puis faites défiler jusqu’à la section Clés API.

Installez la bibliothèque wandb et connectez-vous

Pour installer la bibliothèque wandb localement et vous connecter :
  1. Définissez la variable d’environnement WANDB_API_KEY avec votre clé API.
    export WANDB_API_KEY=<your_api_key>
    
  2. Installez la bibliothèque wandb et connectez-vous.
    pip install wandb
    
    wandb login
    

Ajoutez WandbLogger à votre fichier de configuration spaCy

Les fichiers de configuration spaCy servent à définir tous les aspects de l’entraînement, pas uniquement la journalisation : allocation du GPU, choix de l’optimiseur, chemins des jeux de données, et bien plus encore. Au minimum, dans [training.logger], vous devez renseigner la clé @loggers avec la valeur "spacy.WandbLogger.v3", ainsi qu’un project_name.
Pour en savoir plus sur le fonctionnement des fichiers de configuration d’entraînement de spaCy et sur les autres options que vous pouvez fournir pour personnaliser l’entraînement, consultez la documentation de spaCy.
[training.logger]
@loggers = "spacy.WandbLogger.v3"
project_name = "my_spacy_project"
remove_config_values = ["paths.train", "paths.dev", "corpora.train.path", "corpora.dev.path"]
log_dataset_dir = "./corpus"
model_log_interval = 1000
NomDescription
project_namestr. Le nom du projet W&B. Le projet sera créé automatiquement s’il n’existe pas encore.
remove_config_valuesList[str] . Une liste de valeurs à exclure de la configuration avant son envoi vers W&B. [] par défaut.
model_log_intervalOptional int. None par défaut. S’il est défini, active la gestion des versions des modèles avec Artifacts. Indiquez le nombre d’étapes à attendre entre chaque enregistrement de point de contrôle du modèle. None par défaut.
log_dataset_dirOptional str. Si un chemin est fourni, le jeu de données sera téléversé en tant qu’Artifact au début de l’entraînement. None par défaut.
entityOptional str . Si fourni, le run sera créé dans l’entité spécifiée
run_nameOptional str . Si spécifié, le run sera créé avec le nom indiqué.

Lancer l’entraînement

Une fois que vous avez ajouté WandbLogger à votre configuration d’entraînement spaCy, vous pouvez exécuter spacy train comme d’habitude.
python -m spacy train \
    config.cfg \
    --output ./output \
    --paths.train ./train \
    --paths.dev ./dev
Au démarrage de l’entraînement, un lien vers la page W&B de votre run d’entraînement s’affiche. Il vous redirige vers le tableau de bord de suivi des expériences de ce run dans l’interface web de W&B.