# Suiveurs d'expérimentations

## GeneralTracker[[accelerate.tracking.GeneralTracker]]

#### accelerate.tracking.GeneralTracker[[accelerate.tracking.GeneralTracker]]

```python
accelerate.tracking.GeneralTracker(_blank = False)
```

[Source](https://github.com/huggingface/accelerate/blob/main/src/accelerate/tracking.py#L103)

Une classe Tracker de base à utiliser pour toutes les implémentations d’intégration de journalisation.

Chaque fonction doit recevoir `**kwargs`, qui seront automatiquement transmis depuis un dictionnaire de base fourni à [Accelerator](/docs/accelerate/main/fr/package_reference/accelerator#accelerate.Accelerator).

Doit implémenter les propriétés `name`, `requires_logging_directory` et `tracker` de manière à ce que :

`name` (`str`) : Représentation en chaîne du nom de la classe de tracker, par exemple "TensorBoard" `requires_logging_directory` (`bool`) : Indique si le logger nécessite un répertoire pour stocker ses journaux. `tracker` (`object`) : Doit retourner le mécanisme de suivi interne utilisé par une classe de tracker (tel que `run` pour wandb)

Les implémentations peuvent également inclure un attribut `main_process_only` (`bool`) pour déterminer si les fonctions de journalisation, d’initialisation et autres pertinentes doivent s’exécuter sur le processus principal ou sur tous les processus (la valeur par défaut est `True`).

#### terminer[[accelerate.tracking.GeneralTracker.finish]]

```python
finish()
```

[Source](https://github.com/huggingface/accelerate/blob/main/src/accelerate/tracking.py#L173)

Doit exécuter les fonctions de finalisation au sein de l'API de suivi. Si l'API ne doit pas en avoir, il suffit de ne pas réécrire cette méthode.

#### log[[accelerate.tracking.GeneralTracker.log]]

```python
log(values: dict, step: int | None = None, **kwargs)
```

[Source](https://github.com/huggingface/accelerate/blob/main/src/accelerate/tracking.py#L161)

**Paramètres :**

values (Dictionnaire `str` vers `str`, `float` ou `int`) : Valeurs à consigner sous forme de paires clé-valeur. Les valeurs doivent être de type `str`, `float` ou `int`.

step (`int`, *facultatif*) : L'étape d'exécution. Si incluse, la journalisation sera associée à cette étape.

Enregistre les `values` dans l'exécution en cours. Les implémentations de base de `log` d'une API de suivi doivent être placées ici, ainsi que le comportement particulier du paramètre `step`.

#### commencer[[accelerate.tracking.GeneralTracker.start]]

```python
start()
```

[Source](https://github.com/huggingface/accelerate/blob/main/src/accelerate/tracking.py#L144)

Initialisation paresseuse du tracker dans Accelerator afin d'éviter d'initialiser PartialState avant InitProcessGroupKwargs.

#### store_init_configuration[[accelerate.tracking.GeneralTracker.store_init_configuration]]

```python
store_init_configuration(values: dict)
```

[Source](https://github.com/huggingface/accelerate/blob/main/src/accelerate/tracking.py#L150)

**Paramètres :**

values (Dictionnaire `str` vers `bool`, `str`, `float` ou `int`) : Valeurs à stocker en tant qu'hyperparamètres initiaux sous forme de paires clé-valeur. Les valeurs doivent être de type `bool`, `str`, `float`, `int` ou `None`.

Enregistre les `values` en tant qu'hyperparamètres pour l'exécution. Les implémentations doivent utiliser la fonctionnalité de configuration d'expérience d'une API de suivi.

## register_tracker_class[[accelerate.tracking.register_tracker_class]]

#### accelerate.tracking.register_tracker_class[[accelerate.tracking.register_tracker_class]]

```python
accelerate.tracking.register_tracker_class(tracker_class: type)
```

[Source](https://github.com/huggingface/accelerate/blob/main/src/accelerate/tracking.py#L1264)

**Paramètres :**

tracker_class (sous-classe de `GeneralTracker`) : La classe de tracker à enregistrer. Elle doit être une sous-classe de `GeneralTracker` et définir un attribut de classe `name` non vide ainsi qu'un attribut de classe `requires_logging_directory`. La classe est instanciée avec le `project_name` transmis à `Accelerator.init_trackers()` en tant que premier argument positionnel. Lorsque `requires_logging_directory` est `True`, le répertoire de journalisation est transmis en tant que deuxième argument positionnel (conformément à la convention des trackers intégrés). Les arguments de mots-clés spécifiques au tracker issus de `init_kwargs` sont transmis sous forme de `**kwargs`.

Enregistre un sous-classe personnalisé de `GeneralTracker` afin qu'il puisse être référencé par son `name` dans l'argument `log_with` de [Accelerator](/docs/accelerate/main/fr/package_reference/accelerator#accelerate.Accelerator), de la même manière que les traceurs intégrés.

Le tracker doit être enregistré avant d'instancier le [Accelerator](/docs/accelerate/main/fr/package_reference/accelerator#accelerate.Accelerator) qui l'utilise.

Exemple :

```python
from accelerate import Accelerator
from accelerate.tracking import GeneralTracker, register_tracker_class

class MyTracker(GeneralTracker):
    name = "my_tracker"
    requires_logging_directory = False
    # ... implement the rest of the `GeneralTracker` interface

register_tracker_class(MyTracker)
accelerator = Accelerator(log_with="my_tracker")
```

## TensorBoardTracker[[accelerate.tracking.TensorBoardTracker]]

#### accelerate.tracking.TensorBoardTracker[[accelerate.tracking.TensorBoardTracker]]

```python
accelerate.tracking.TensorBoardTracker(run_name: str, logging_dir: str | os.PathLike, **kwargs)
```

[Source](https://github.com/huggingface/accelerate/blob/main/src/accelerate/tracking.py#L180)

**Paramètres :**

run_name (`str`) : Le nom de l'exécution de l'expérience

logging_dir (`str`, `os.PathLike`) : Emplacement de stockage des journaux TensorBoard.

- ****kwargs** (arguments supplémentaires par mot-clé, *facultatif*) : Arguments supplémentaires par mot-clé transmis à la méthode `tensorboard.SummaryWriter.__init__`.

Une classe `Tracker` qui prend en charge `tensorboard`. Elle doit être initialisée au début de votre script.

#### __init__[[accelerate.tracking.TensorBoardTracker.__init__]]

```python
__init__(run_name: str, logging_dir: str | os.PathLike, **kwargs)
```

[Source](https://github.com/huggingface/accelerate/blob/main/src/accelerate/tracking.py#L196)

## WandBTracker[[accelerate.tracking.WandBTracker]]

#### accelerate.tracking.WandBTracker[[accelerate.tracking.WandBTracker]]

```python
accelerate.tracking.WandBTracker(run_name: str, **kwargs)
```

[Source](https://github.com/huggingface/accelerate/blob/main/src/accelerate/tracking.py#L295)

**Paramètres :**

run_name (`str`) : Le nom de l'exécution de l'expérience.

- ****kwargs** (arguments de mot-clé supplémentaires, *facultatif*) : Arguments de mot-clé supplémentaires transmis à la méthode `wandb.init`.

Une classe `Tracker` qui prend en charge `wandb`. Elle doit être initialisée au début de votre script.

#### __init__[[accelerate.tracking.WandBTracker.__init__]]

```python
__init__(run_name: str, **kwargs)
```

[Source](https://github.com/huggingface/accelerate/blob/main/src/accelerate/tracking.py#L310)

## Trackio[[accelerate.tracking.TrackioTracker]]

#### accelerate.tracking.TrackioTracker[[accelerate.tracking.TrackioTracker]]

```python
accelerate.tracking.TrackioTracker(run_name: str, **kwargs)
```

[Source](https://github.com/huggingface/accelerate/blob/main/src/accelerate/tracking.py#L420)

**Paramètres :**

run_name (`str`) : Le nom de l'exécution de l'expérience. Sera utilisé comme nom de `project` lors de l'instanciation de trackio.

- ****kwargs** (arguments supplémentaires par mot-clé, *facultatif*) : Arguments supplémentaires par mot-clé transmis à la méthode `trackio.init`. Consultez cette [init](https://github.com/gradio-app/trackio/blob/814809552310468b13f84f33764f1369b4e5136c/trackio/__init__.py#L22) pour voir tous les arguments par mot-clé pris en charge.

Une classe `Tracker` qui prend en charge `trackio`. Elle doit être initialisée au début de votre script.

#### __init__[[accelerate.tracking.TrackioTracker.__init__]]

```python
__init__(run_name: str, **kwargs)
```

[Source](https://github.com/huggingface/accelerate/blob/main/src/accelerate/tracking.py#L437)

## CometMLTracker[[accelerate.tracking.CometMLTracker]]

#### accelerate.tracking.CometMLTracker[[accelerate.tracking.CometMLTracker]]

```python
accelerate.tracking.CometMLTracker(run_name: str, **kwargs)
```

[Source](https://github.com/huggingface/accelerate/blob/main/src/accelerate/tracking.py#L497)

**Paramètres :**

run_name (`str`) : Le nom de l'exécution de l'expérience.

- ****kwargs** (arguments de mot-clé supplémentaires, *facultatif*) : Arguments de mot-clé supplémentaires transmis à la méthode `comet_ml.start` : https://www.comet.com/docs/v2/api-and-sdk/python-sdk/reference/start/

Une classe `Tracker` qui prend en charge `comet_ml`. Elle doit être initialisée au début de votre script.

Les clés API doivent être stockées dans un fichier de configuration Comet.

Note : Pour les versions de `comet_ml` antérieures à 3.41.0, des arguments de mot-clé supplémentaires sont transmis à `comet_ml.Experiment` à la place : https://www.comet.com/docs/v2/api-and-sdk/python-sdk/reference/Experiment/#comet_ml.Experiment.__init__

#### __init__[[accelerate.tracking.CometMLTracker.__init__]]

```python
__init__(run_name: str, **kwargs)
```

[Source](https://github.com/huggingface/accelerate/blob/main/src/accelerate/tracking.py#L518)

## AimTracker[[accelerate.tracking.AimTracker]]

#### accelerate.tracking.AimTracker[[accelerate.tracking.AimTracker]]

```python
accelerate.tracking.AimTracker(run_name: str, logging_dir: str | os.PathLike | None = '.', **kwargs)
```

[Source](https://github.com/huggingface/accelerate/blob/main/src/accelerate/tracking.py#L591)

**Paramètres :**

run_name (`str`) : Le nom de l'exécution de l'expérience.

- ****kwargs** (arguments supplémentaires par mot-clé, *facultatif*) : Arguments supplémentaires par mot-clé transmis à la méthode `Run.__init__`.

Une classe `Tracker` qui prend en charge `aim`. Elle doit être initialisée au début de votre script.

#### __init__[[accelerate.tracking.AimTracker.__init__]]

```python
__init__(run_name: str, logging_dir: str | os.PathLike | None = '.', **kwargs)
```

[Source](https://github.com/huggingface/accelerate/blob/main/src/accelerate/tracking.py#L605)

## MLflowTracker[[accelerate.tracking.MLflowTracker]]

#### accelerate.tracking.MLflowTracker[[accelerate.tracking.MLflowTracker]]

```python
accelerate.tracking.MLflowTracker(experiment_name: str | None = None, logging_dir: str | os.PathLike | None = None, run_id: str | None = None, tags: dict[str, typing.Any] | str | None = None, nested_run: bool | None = False, run_name: str | None = None, description: str | None = None)
```

[Source](https://github.com/huggingface/accelerate/blob/main/src/accelerate/tracking.py#L694)

**Paramètres :**

experiment_name (`str`, *facultatif*) : Nom de l'expérience. La variable d'environnement MLFLOW_EXPERIMENT_NAME a la priorité sur cet argument.

logging_dir (`str` ou `os.PathLike`, par défaut `"."`) : Emplacement de stockage des journaux mlflow.

run_id (`str`, *facultatif*) : Si spécifié, récupère l’exécution avec l’UUID indiqué et enregistre les paramètres et les métriques sous cette exécution. L’heure de fin de l’exécution n’est pas définie et son statut est passé à « en cours d’exécution », mais les autres attributs de l’exécution (source_version, source_type, etc.) ne sont pas modifiés. La variable d’environnement MLFLOW_RUN_ID a la priorité sur cet argument.

tags (`Dict[str, str]`, *facultatif*) : Un `dict` facultatif de clés et de valeurs de type `str`, ou un déchargement `str` d'un `dict`, à définir en tant que balises sur l'exécution. Si une exécution est reprise, ces balises sont définies sur l'exécution reprise. Si une nouvelle exécution est créée, ces balises sont définies sur la nouvelle exécution. La variable d'environnement MLFLOW_TAGS a la priorité sur cet argument.

nested_run (`bool`, *facultatif*, valeur par défaut `False`) : Permet de contrôler si l'exécution est imbriquée dans l'exécution parente. True crée une exécution imbriquée. La variable d'environnement MLFLOW_NESTED_RUN a la priorité sur cet argument.

run_name (`str`, *facultatif*) : Nom de la nouvelle exécution (stocké en tant que tag mlflow.runName). Utilisé uniquement lorsque `run_id` n'est pas spécifié.

description (`str`, *facultatif*) : une chaîne de caractères facultative qui remplit la zone de description de l'exécution. Si une exécution est reprise, la description est définie sur l'exécution reprise. Si une nouvelle exécution est créée, la description est définie sur la nouvelle exécution.

Une classe `Tracker` qui prend en charge `mlflow`. Elle doit être initialisée au début de votre script.

#### __init__[[accelerate.tracking.MLflowTracker.__init__]]

```python
__init__(experiment_name: str | None = None, logging_dir: str | os.PathLike | None = None, run_id: str | None = None, tags: dict[str, typing.Any] | str | None = None, nested_run: bool | None = False, run_name: str | None = None, description: str | None = None)
```

[Source](https://github.com/huggingface/accelerate/blob/main/src/accelerate/tracking.py#L725)

## ClearMLTracker[[accelerate.tracking.ClearMLTracker]]

#### accelerate.tracking.ClearMLTracker[[accelerate.tracking.ClearMLTracker]]

```python
accelerate.tracking.ClearMLTracker(run_name: str | None = None, **kwargs)
```

[Source](https://github.com/huggingface/accelerate/blob/main/src/accelerate/tracking.py#L905)

**Paramètres :**

run_name (`str`, *facultatif*) : Nom de l'expérience. Les variables d'environnement `CLEARML_PROJECT` et `CLEARML_TASK` ont la priorité sur cet argument.

- ****kwargs** (arguments de mot-clé supplémentaires, *facultatif*) : Kwargs transmis à la méthode `Task.__init__`.

Une classe `Tracker` qui prend en charge `clearml`. Elle doit être initialisée au début de votre script.

#### __init__[[accelerate.tracking.ClearMLTracker.__init__]]

```python
__init__(run_name: str | None = None, **kwargs)
```

[Source](https://github.com/huggingface/accelerate/blob/main/src/accelerate/tracking.py#L920)

## SwanLabTracker[[accelerate.tracking.SwanLabTracker]]

#### accelerate.tracking.SwanLabTracker[[accelerate.tracking.SwanLabTracker]]

```python
accelerate.tracking.SwanLabTracker(run_name: str, **kwargs)
```

[Source](https://github.com/huggingface/accelerate/blob/main/src/accelerate/tracking.py#L1151)

**Paramètres :**

run_name (`str`) : Le nom de l'exécution de l'expérience.

- ****kwargs** (arguments supplémentaires par mot-clé, *facultatif*) : Arguments supplémentaires par mot-clé transmis à la méthode `swanlab.init`.

Une classe `Tracker` qui prend en charge `swanlab`. Elle doit être initialisée au début de votre script.

#### __init__[[accelerate.tracking.SwanLabTracker.__init__]]

```python
__init__(run_name: str, **kwargs)
```

[Source](https://github.com/huggingface/accelerate/blob/main/src/accelerate/tracking.py#L1166)

