> ## Documentation Index
> Fetch the complete documentation index at: https://wb-21fd5541-docs-2751.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Intégrez W&B à Skorch pour journaliser les métriques et les hyperparamètres d'entraînement de modèles PyTorch compatibles avec scikit-learn.

# Skorch

Cette page vous montre comment utiliser W\&B avec [Skorch](https://skorch.readthedocs.io/) afin de vous permettre de suivre l'entraînement des modèles Skorch sans écrire de code de journalisation personnalisé. Lorsque vous intégrez les deux, W\&B journalise automatiquement le modèle le plus performant, ainsi que toutes les métriques de performance du modèle, sa topologie et les ressources de calcul après chaque époque. W\&B journalise automatiquement chaque fichier que vous enregistrez dans `wandb_run.dir`.

Pour plus d'informations, voir cet [exemple de run](https://app.wandb.ai/borisd13/skorch/runs/s20or4ct?workspace=user-borisd13).

<div id="parameters">
  ## Paramètres
</div>

Le tableau suivant répertorie les paramètres que le callback `WandbLogger` accepte.

| Paramètre      | Type                                     | Description                                                                                                                                                                                |
| :------------- | :--------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `wandb_run`    | `wandb.wandb_run`. Run                   | Le run W\&B utilisé pour journaliser les données.                                                                                                                                          |
| `save_model`   | `bool` (default=`True`)                  | Indique s’il faut enregistrer un point de contrôle du meilleur modèle et le téléverser dans votre run sur W\&B.                                                                            |
| `keys_ignored` | `str` ou liste de `str` (default=`None`) | Clé ou liste de clés à ne pas journaliser dans TensorBoard. En plus des clés que vous fournissez, W\&B ignore par défaut les clés qui commencent par `event_` ou se terminent par `_best`. |

<div id="example-code">
  ## Exemples de code
</div>

Les exemples suivants montrent l’utilisation de bout en bout de `WandbLogger` avec Skorch :

* [Colab](https://colab.research.google.com/drive/1Bo8SqN1wNPMKv5Bn9NjwGecBxzFlaNZn?usp=sharing) : une démo simple pour essayer l’intégration.
* [Guide étape par étape](https://app.wandb.ai/cayush/uncategorized/reports/Automate-Kaggle-model-training-with-Skorch-and-W%26B--Vmlldzo4NTQ1NQ) : un guide pas à pas pour suivre les performances de votre modèle Skorch.

```bash theme={null}
pip install wandb
```

```python theme={null}
import wandb
from skorch.callbacks import WandbLogger

# Créer un run wandb
wandb_run = wandb.init()

# Journaliser les hyperparamètres (facultatif)
wandb_run.config.update({"learning rate": 1e-3, "batch size": 32})

net = NeuralNet(..., callbacks=[WandbLogger(wandb_run)])
net.fit(X, y)
```

<div id="method-reference">
  ## Référence des méthodes
</div>

Le tableau suivant répertorie les méthodes de callback que `WandbLogger` fournit et le moment où Skorch invoque chacune d’elles.

| Méthode                                               | Description                                                                                                |
| :---------------------------------------------------- | :--------------------------------------------------------------------------------------------------------- |
| `initialize`()                                        | (Ré-)initialise l’état initial du callback.                                                                |
| `on_batch_begin`(net\[, X, y, training])              | Appelée au début de chaque lot.                                                                            |
| `on_batch_end`(net\[, X, y, training])                | Appelée à la fin de chaque lot.                                                                            |
| `on_epoch_begin`(net\[, dataset\_train, ...])         | Appelée au début de chaque époque.                                                                         |
| `on_epoch_end`(net, \*\*kwargs)                       | Journalise les valeurs de la dernière étape de l’historique et enregistre le meilleur modèle.              |
| `on_grad_computed`(net, named\_parameters\[, X, ...]) | Appelée une fois par lot, après le calcul des gradients mais avant l’exécution d’une étape de mise à jour. |
| `on_train_begin`(net, \*\*kwargs)                     | Journalise la topologie du modèle et ajoute un hook pour les gradients.                                    |
| `on_train_end`(net\[, X, y])                          | Appelée à la fin de l’entraînement.                                                                        |
