Accelerate documentation
Registradores de experimentos
Registradores de experimentos
GeneralTracker
Una clase Tracker base para ser utilizada en todas las implementaciones de integración de registro.
Cada función debe recibir **kwargs que se pasarán automáticamente desde un diccionario base proporcionado a Accelerator.
Debe implementar las propiedades name, requires_logging_directory y tracker de modo que:
name (str): Representación en cadena del nombre de la clase de tracker, como “TensorBoard” requires_logging_directory (bool): Si el logger requiere un directorio para almacenar sus registros. tracker (object): Debe devolver el mecanismo de seguimiento interno utilizado por una clase de tracker (como run para wandb)
Las implementaciones también pueden incluir un atributo main_process_only (bool) para alternar si el registro relevante, la inicialización y otras funciones deben ocurrir en el proceso principal o en todos los procesos (por defecto se usará True)
Debe ejecutar cualquier función de finalización dentro de la API de seguimiento. Si la API no debe tener una, simplemente no sobrescriba ese método.
log
< source >( values: dictstep: int | None = None**kwargs )
Registra los values en la ejecución actual. Las implementaciones base de log de una API de seguimiento deben ir aquí, junto con el comportamiento especial para el parámetro `step`.
Inicialización perezosa del tracker dentro de Accelerator para evitar inicializar PartialState antes de InitProcessGroupKwargs.
store_init_configuration
< source >( values: dict )
Registra los values como hiperparámetros para la ejecución. Las implementaciones deben utilizar la funcionalidad de configuración de experimentos de una API de seguimiento.
register_tracker_class
accelerate.tracking.register_tracker_class
< source >( tracker_class: type )
Parámetros
- tracker_class (subclase de
GeneralTracker) — La clase de tracker a registrar. Debe ser una subclase deGeneralTrackery definir un atributo de clasenameno vacío y un atributo de claserequires_logging_directory. La clase se instancia con elproject_namepasado aAccelerator.init_trackers()como primer argumento posicional. Cuandorequires_logging_directoryesTrue, el directorio de registro se pasa como segundo argumento posicional (coincidiendo con la convención del tracker integrado). Los argumentos de palabra clave específicos del tracker deinit_kwargsse reenvían como**kwargs.
Registra una subclase personalizada de GeneralTracker para que pueda referenciarse por su name en el argumento log_with de Accelerator, de la misma manera que los trackers integrados.
El tracker debe registrarse antes de instanciar el Accelerator que lo utiliza.
Ejemplo:
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
clase accelerate.tracking.TensorBoardTracker
< source >( run_name: strlogging_dir: str | os.PathLike**kwargs )
Parámetros
- run_name (
str) — El nombre de la ejecución del experimento - logging_dir (
str,os.PathLike) — Ubicación donde se almacenarán los registros de TensorBoard. - **kwargs (argumentos de palabra clave adicionales, opcional) —
Argumentos de palabra clave adicionales que se pasan al método
tensorboard.SummaryWriter.__init__.
Una clase Tracker que admite tensorboard. Debe inicializarse al inicio de su script.
WandBTracker
clase accelerate.tracking.WandBTracker
< source >( run_name: str**kwargs )
Una clase Tracker que admite wandb. Debe inicializarse al inicio de su script.
Trackio
clase accelerate.tracking.TrackioTracker
< source >( run_name: str**kwargs )
Parámetros
- run_name (
str) — El nombre de la ejecución del experimento. Se usará como nombre deprojectal instanciar trackio. - **kwargs (argumentos de palabra clave adicionales, opcional) —
Argumentos de palabra clave adicionales que se pasan al método
trackio.init. Consulte este init para ver todos los argumentos de palabra clave admitidos.
Una clase Tracker que admite trackio. Debe inicializarse al inicio de su script.
CometMLTracker
clase accelerate.tracking.CometMLTracker
< source >( run_name: str**kwargs )
Parámetros
- run_name (
str) — El nombre de la ejecución del experimento. - **kwargs (argumentos de palabra clave adicionales, opcional) —
Argumentos de palabra clave adicionales que se pasan al método
comet_ml.start: https://www.comet.com/docs/v2/api-and-sdk/python-sdk/reference/start/
Una clase Tracker que admite comet_ml. Debe inicializarse al inicio de su script.
Las claves de API deben almacenarse en un archivo de configuración de Comet.
Nota:
Para versiones de comet_ml < 3.41.0, los argumentos de palabra clave adicionales se pasan a comet_ml.Experiment en su lugar: https://www.comet.com/docs/v2/api-and-sdk/python-sdk/reference/Experiment/#comet_ml.Experiment.__init__
AimTracker
clase accelerate.tracking.AimTracker
< source >( run_name: strlogging_dir: str | os.PathLike | None = '.'**kwargs )
Una clase Tracker que admite aim. Debe inicializarse al inicio de su script.
MLflowTracker
clase accelerate.tracking.MLflowTracker
< source >( experiment_name: str | None = Nonelogging_dir: str | os.PathLike | None = Nonerun_id: str | None = Nonetags: dict[str, typing.Any] | str | None = Nonenested_run: bool | None = Falserun_name: str | None = Nonedescription: str | None = None )
Parámetros
- experiment_name (
str, opcional) — Nombre del experimento. La variable de entorno MLFLOW_EXPERIMENT_NAME tiene prioridad sobre este argumento. - logging_dir (
stroos.PathLike, por defecto".") — Ubicación donde se almacenan los registros de mlflow. - run_id (
str, opcional) — Si se especifica, obtiene la ejecución con el UUID indicado y registra los parámetros y métricas bajo esa ejecución. El tiempo de finalización de la ejecución no se establece y su estado se fija en running, pero los demás atributos de la ejecución (source_version, source_type, etc.) no se modifican. La variable de entorno MLFLOW_RUN_ID tiene prioridad sobre este argumento. - tags (
Dict[str, str], opcional) — Undictopcional de claves y valoresstr, o un volcadostrde undict, para establecer como etiquetas en la ejecución. Si se reanuda una ejecución, estas etiquetas se establecen en la ejecución reanudada. Si se crea una nueva ejecución, estas etiquetas se establecen en la nueva ejecución. La variable de entorno MLFLOW_TAGS tiene prioridad sobre este argumento. - nested_run (
bool, opcional, valor predeterminadoFalse) — Controla si la ejecución está anidada en la ejecución principal. True crea una ejecución anidada. La variable de entorno MLFLOW_NESTED_RUN tiene prioridad sobre este argumento. - run_name (
str, opcional) — Nombre de la nueva ejecución (se almacena como una etiqueta mlflow.runName). Se utiliza solo cuandorun_idno se especifica. - description (
str, opcional) — Una cadena de caracteres opcional que completa la casilla de descripción de la ejecución. Si se reanuda una ejecución, la descripción se establece en la ejecución reanudada. Si se crea una nueva ejecución, la descripción se establece en la nueva ejecución.
Una clase Tracker que admite mlflow. Debe inicializarse al inicio de su script.
__init__
< source >( experiment_name: str | None = Nonelogging_dir: str | os.PathLike | None = Nonerun_id: str | None = Nonetags: dict[str, typing.Any] | str | None = Nonenested_run: bool | None = Falserun_name: str | None = Nonedescription: str | None = None )
ClearMLTracker
clase accelerate.tracking.ClearMLTracker
< source >( run_name: str | None = None**kwargs )
Una clase Tracker que admite clearml. Debe inicializarse al inicio de su script.
SwanLabTracker
clase accelerate.tracking.SwanLabTracker
< source >( run_name: str**kwargs )
Una clase Tracker que admite swanlab. Debe inicializarse al inicio de su script.