# Registradores de experimentos

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

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

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

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

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](/docs/accelerate/main/es/package_reference/accelerator#accelerate.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`)

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

```python
finish()
```

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

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[[accelerate.tracking.GeneralTracker.log]]

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

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

**Parámetros:**

values (Diccionario de `str` a `str`, `float` o `int`) : Valores que se registrarán como pares clave-valor. Los valores deben tener tipo `str`, `float` o `int`.

step (`int`, *opcional*) : El paso de ejecución. Si se incluye, el registro se asociará a este paso.

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`.

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

```python
start()
```

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

Inicialización perezosa del tracker dentro de Accelerator para evitar inicializar PartialState antes de InitProcessGroupKwargs.

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

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

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

**Parámetros:**

values (Diccionario de `str` a `bool`, `str`, `float` o `int`) : Valores que se almacenarán como hiperparámetros iniciales en pares clave-valor. Los valores deben tener tipo `bool`, `str`, `float`, `int` o `None`.

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]]

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

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

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

**Parámetros:**

tracker_class (subclase de `GeneralTracker`) : La clase de tracker a registrar. Debe ser una subclase de `GeneralTracker` y definir un atributo de clase `name` no vacío y un atributo de clase `requires_logging_directory`. La clase se instancia con el `project_name` pasado a `Accelerator.init_trackers()` como primer argumento posicional. Cuando `requires_logging_directory` es `True`, 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 de `init_kwargs` se reenvían como `**kwargs`.

Registra una subclase personalizada de `GeneralTracker` para que pueda referenciarse por su `name` en el argumento `log_with` de [Accelerator](/docs/accelerate/main/es/package_reference/accelerator#accelerate.Accelerator), de la misma manera que los trackers integrados.

El tracker debe registrarse antes de instanciar el [Accelerator](/docs/accelerate/main/es/package_reference/accelerator#accelerate.Accelerator) que lo utiliza.

Ejemplo:

```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)
```

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

**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.

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

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

[Fuente](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)
```

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

**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 `wandb.init`.

Una clase `Tracker` que admite `wandb`. Debe inicializarse al inicio de su script.

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

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

[Fuente](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)
```

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

**Parámetros:**

run_name (`str`) : El nombre de la ejecución del experimento. Se usará como nombre de `project` al 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](https://github.com/gradio-app/trackio/blob/814809552310468b13f84f33764f1369b4e5136c/trackio/__init__.py#L22) para ver todos los argumentos de palabra clave admitidos.

Una clase `Tracker` que admite `trackio`. Debe inicializarse al inicio de su script.

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

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

[Fuente](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)
```

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

**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__

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

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

[Fuente](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)
```

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

**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 `Run.__init__`.

Una clase `Tracker` que admite `aim`. Debe inicializarse al inicio de su script.

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

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

[Fuente](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)
```

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

**Parámetros:**

experiment_name (`str`, *opcional*) : Nombre del experimento. La variable de entorno MLFLOW_EXPERIMENT_NAME tiene prioridad sobre este argumento.

logging_dir (`str` o `os.PathLike`, por defecto `"."`) : Ubicación donde se almacenarán 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. La hora de finalización de la ejecución queda sin definir y su estado se establece en ejecución, 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*) : Un `dict` opcional de claves y valores `str`, o un volcado `str` de un `dict`, 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 predeterminado `False`) : 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 cuando `run_id` no se especifica.

description (`str`, *opcional*) : Una cadena de caracteres opcional que completa la caja 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__[[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)
```

[Fuente](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)
```

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

**Parámetros:**

run_name (`str`, *opcional*) : Nombre del experimento. Las variables de entorno `CLEARML_PROJECT` y `CLEARML_TASK` tienen prioridad sobre este argumento.

- ****kwargs** (argumentos de palabra clave adicionales, *opcional*) : Kwargs que se pasan al método `Task.__init__`.

Una clase `Tracker` que admite `clearml`. Debe inicializarse al inicio de su script.

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

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

[Fuente](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)
```

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

**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 `swanlab.init`.

Una clase `Tracker` que admite `swanlab`. Debe inicializarse al inicio de su script.

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

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

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

