Passer à la navigation

nemo_rl.utils.timer

Afficher en Markdown

Contenu du Module

Classes

NomDescription
TimerUn utilitaire pour chronométrer l’exécution de code.
TimeoutCheckerAucun

Fonctions

NomDescription
convert_to_secondsConvertit une chaîne de temps au format ‘JJ:HH:MM:SS’ en secondes totales.

API

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)