> ## Documentation Index
> Fetch the complete documentation index at: https://wb-21fd5541-docs-agents-md-product-conventions.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. |
