> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://fr.nvidia-localization.ferndocs.com/fr/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://fr.nvidia-localization.ferndocs.com/fr/_mcp/server.

# nemo\_rl.utils.timer

## Contenu du Module

### Classes

| Nom                                                 | Description                                          |
| --------------------------------------------------- | ---------------------------------------------------- |
| [`Timer`](#nemorlutilstimertimer)                   | Un utilitaire pour chronométrer l'exécution de code. |
| [`TimeoutChecker`](#nemorlutilstimertimeoutchecker) | Aucun                                                |

### Fonctions

| Nom                                                       | Description                                                                |
| --------------------------------------------------------- | -------------------------------------------------------------------------- |
| [`convert_to_seconds`](#nemorlutilstimerconverttoseconds) | Convertit une chaîne de temps au format 'JJ:HH:MM:SS' en secondes totales. |

### API

```python
class nemo_rl.utils.timer.Timer
```

Un utilitaire pour chronométrer l'exécution de code.

Prend en charge deux modèles d'utilisation :

1. Début/arrêt explicites : timer.start("label"), timer.stop("label")
2. Gestionnaire de contexte : with timer.time("label"): ...

Le timer conserve plusieurs mesures de temps pour chaque label,
et prend en charge différentes réductions sur ces mesures (moyenne, médiane,
min, max, écart-type).

Exemple d'utilisation :

```
timer = Timer()

# Méthode 1 : start/stop
timer.start("load_data")
data = load_data()
timer.stop("load_data")

# Méthode 2 : gestionnaire de contexte
with timer.time("model_forward"):
    model_outputs = model(inputs)

# Plusieurs mesures de temps pour la même opération
for batch in dataloader:
    with timer.time("model_forward_multiple"):
        outputs = model(batch)

# Obtenir tous les temps pour un label
model_forward_times = timer.get_elapsed("model_forward_multiple")

# Obtenir les réductions pour un label
mean_forward_time = timer.reduce("model_forward_multiple")
max_forward_time = timer.reduce("model_forward_multiple", "max")
```

(Rest of the document remains the same, only translating visible text)