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

# Enregistrer et comparer le code

> Activez l’enregistrement du code, comparez le code d’un run W&B à l’autre avec le comparateur de code et capturez l’historique de session Jupyter.

Cette page explique comment activer l’enregistrement du code afin de pouvoir comparer le code utilisé entre les runs W\&B et examiner les cellules exécutées dans les sessions Jupyter. L’enregistrement du code facilite la reproduction des Experiments et aide à comprendre comment les modifications apportées à votre code d’entraînement affectent les résultats.

Par défaut, W\&B enregistre uniquement le hachage du commit Git le plus récent. Vous pouvez activer des fonctionnalités de code supplémentaires pour comparer le code entre vos Experiments dans l’interface utilisateur.

À partir de la version 0.8.28 de `wandb`, W\&B peut enregistrer le code de votre fichier principal d’entraînement dans lequel vous appelez `wandb.init()`.

<div id="save-library-code">
  ## Enregistrer le code de la bibliothèque
</div>

Lorsque vous activez l’enregistrement du code, W\&B enregistre le code du fichier à l’origine de l’appel à `wandb.init()`. Pour enregistrer du code de bibliothèque supplémentaire, vous avez trois options.

<div id="call-log_code-after-wandbinit">
  ### Appelez `log_code` après `wandb.init`
</div>

Appelez `wandb.Run.log_code(".")` après `wandb.init()` :

```python theme={null}
import wandb

with wandb.init() as run:
  run.log_code(".")
```

<div id="pass-a-settings-object-with-code_dir">
  ### Transmettez un objet de configuration avec `code_dir`
</div>

Transmettez un objet de configuration à `wandb.init()` avec `code_dir` défini :

```python theme={null}
import wandb

wandb.init(settings=wandb.Settings(code_dir="."))
```

Cela inclut tous les fichiers source Python du répertoire actuel et de tous ses sous-répertoires dans un [artifact](/fr/models/ref/python/experiments/artifact). Pour mieux contrôler les types et emplacements des fichiers source que W\&B enregistre, voir la [documentation de référence](/fr/models/ref/python/experiments/run#log_code).

<div id="set-code-saving-in-the-ui">
  ### Configurer l’enregistrement du code dans l’interface utilisateur
</div>

En plus de configurer l’enregistrement du code par programmation, vous pouvez définir les valeurs par défaut dans l’interface utilisateur au niveau d’une équipe ou de l’organisation. Les sections suivantes décrivent les paramètres au niveau de l’équipe et de l’organisation.

<div id="team">
  #### Équipe
</div>

Par défaut, W\&B désactive l’enregistrement du code pour toutes les équipes. Avant de pouvoir l’activer pour une équipe, un administrateur de l’organisation doit d’abord l’activer pour l’organisation. Voir la section [Organisation](#organization).

Un administrateur d’équipe peut ouvrir la page **Settings** de l’équipe, accéder à la section **Privacy** et configurer **Enable code saving by default** pour les runs de l’équipe. Cette option n’est disponible que si un administrateur de l’organisation n’a pas appliqué de restrictions sur l’enregistrement du code à l’échelle de toute l’organisation. Pour les étapes de navigation, voir [Configurer les paramètres de confidentialité d’une équipe](/fr/platform/hosting/privacy-settings#configure-privacy-settings-for-a-team).

<div id="organization">
  #### Organisation
</div>

Un administrateur de l’organisation peut ouvrir les **Settings** de l’organisation, accéder à la section **Privacy** et activer **Enforce default code saving restrictions** afin que l’enregistrement du code reste désactivé par défaut pour chaque équipe. Tant que ce paramètre est activé, les administrateurs d’équipe ne peuvent pas activer **Enable code saving by default** pour une équipe. Pour la liste complète des contrôles au niveau de l’organisation, voir [Enforce privacy settings for all teams](/fr/platform/hosting/privacy-settings#enforce-privacy-settings-for-all-teams).

<div id="code-comparer">
  ## comparateur de code
</div>

Le panneau de comparateur de code affiche côte à côte, dans le workspace, le code de différents runs W\&B.

Comparez le code utilisé dans différents runs W\&B :

1. Cliquez sur le bouton **Add panels** dans le coin supérieur droit de la page.
2. Ouvrez le menu déroulant **TEXT AND CODE** et sélectionnez **Code**.

<Frame>
  <img src="https://mintcdn.com/wb-21fd5541-run-filter-ui-updates/NiSC63JCbbxJ3Isf/images/app_ui/code_comparer.png?fit=max&auto=format&n=NiSC63JCbbxJ3Isf&q=85&s=09d8c40221584e6a4b21395c971a997e" alt="Panneau comparateur de code" width="887" height="337" data-path="images/app_ui/code_comparer.png" />
</Frame>

<div id="jupyter-session-history">
  ## Historique de session Jupyter
</div>

W\&B enregistre l’historique du code exécuté dans votre session de notebook Jupyter. Lorsque vous appelez `wandb.init()` dans Jupyter, W\&B ajoute un hook pour enregistrer automatiquement un notebook Jupyter qui contient l’historique du code exécuté dans votre session en cours.

Pour afficher l’historique du notebook enregistré pour une run :

1. Accédez au Workspace du projet qui contient votre code.
2. Sélectionnez l’onglet **Artifacts** dans la barre latérale du projet.
3. Développez l’artifact **code**.
4. Sélectionnez l’onglet **Files**.

<Frame>
  <img src="https://mintcdn.com/wb-21fd5541-run-filter-ui-updates/u2rTBovWry-45m2Q/images/app_ui/jupyter_session_history.gif?s=aae185eee59f4864acfe168120d3648f" alt="Historique de session Jupyter" width="3868" height="2574" data-path="images/app_ui/jupyter_session_history.gif" />
</Frame>

Cela affiche les cellules exécutées pendant votre session, ainsi que toutes les sorties générées par des appels à la méthode `display` d’IPython. Cela vous permet de voir exactement quel code a été exécuté dans Jupyter pour une run donnée. Lorsque c’est possible, W\&B enregistre également la version la plus récente du notebook, que vous trouverez aussi dans le répertoire `code`.

<Frame>
  <img src="https://mintcdn.com/wb-21fd5541-run-filter-ui-updates/u2rTBovWry-45m2Q/images/app_ui/jupyter_session_history_display.png?fit=max&auto=format&n=u2rTBovWry-45m2Q&q=85&s=dd2c256d499646ec7b6df4e83408977b" alt="Sortie de session Jupyter" width="3826" height="1840" data-path="images/app_ui/jupyter_session_history_display.png" />
</Frame>
