# Rastreadores de experimentos

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

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

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

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

A classe base Tracker a ser usada em todas as implementações de integração de registro de logs.

Cada função deve receber `**kwargs` que serão automaticamente passados a partir de um dicionário base fornecido para [Accelerator](/docs/accelerate/main/pt/package_reference/accelerator#accelerate.Accelerator).

Deve implementar as propriedades `name`, `requires_logging_directory` e `tracker` de modo que:

`name` (`str`): Representação em string do nome da classe do tracker, como "TensorBoard" `requires_logging_directory` (`bool`): Se o logger requer um diretório para armazenar seus logs. `tracker` (`object`): Deve retornar o mecanismo de rastreamento interno usado por uma classe de tracker (como o `run` para wandb)

As implementações também podem incluir um atributo `main_process_only` (`bool`) para alternar se o registro relevante, a inicialização e outras funções devem ocorrer no processo principal ou em todos os processos (por padrão, usa `True`)

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

```python
finish()
```

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

Deve executar quaisquer funções de finalização dentro da API de rastreamento. Se a API não deve ter uma, basta não sobrescrever esse método.

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

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

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

**Parâmetros:**

values (Dicionário `str` para `str`, `float` ou `int`) : Valores a serem registrados como pares de chave-valor. Os valores precisam ter o tipo `str`, `float` ou `int`.

step (`int`, *opcional*) : O passo da execução. Se incluído, o log será associado a esse passo.

Registra os `values` na execução atual. As implementações base de `log` de uma API de rastreamento devem ficar aqui, juntamente com o comportamento especial para o parâmetro `step`.

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

```python
start()
```

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

Inicialização preguiçosa do tracker dentro do Accelerator para evitar a inicialização do PartialState antes do InitProcessGroupKwargs.

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

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

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

**Parâmetros:**

values (Dicionário `str` para `bool`, `str`, `float` ou `int`) : Valores a serem armazenados como hiperparâmetros iniciais em pares chave-valor. Os valores precisam ter o tipo `bool`, `str`, `float`, `int` ou `None`.

Registra os `values` como hiperparâmetros para a execução. As implementações devem usar a funcionalidade de configuração de experimento de uma API de rastreamento.

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

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

**Parâmetros:**

tracker_class (subclasse de `GeneralTracker`) : A classe de tracker a ser registrada. Ela deve ser uma subclasse de `GeneralTracker` e definir um atributo de classe `name` não vazio e um atributo de classe `requires_logging_directory`. A classe é instanciada com o `project_name` passado para `Accelerator.init_trackers()` como o primeiro argumento posicional. Quando `requires_logging_directory` é `True`, o diretório de log é passado como o segundo argumento posicional (correspondendo à convenção do tracker embutido). Os argumentos de palavra-chave específicos do tracker de `init_kwargs` são encaminhados como `**kwargs`.

Registra um subclasse personalizado de `GeneralTracker` para que ele possa ser referenciado pelo seu `name` no argumento `log_with` de [Accelerator](/docs/accelerate/main/pt/package_reference/accelerator#accelerate.Accelerator), da mesma forma que os rastreadores integrados.

O tracker deve ser registrado antes de instanciar o [Accelerator](/docs/accelerate/main/pt/package_reference/accelerator#accelerate.Accelerator) que o utiliza.

Exemplo:

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

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

**Parâmetros:**

run_name (`str`) : O nome da execução do experimento

logging_dir (`str`, `os.PathLike`) : Local para armazenar os logs do TensorBoard.

- ****kwargs** (argumentos de palavra-chave adicionais, *opcional*) : Argumentos de palavra-chave adicionais passados ao método `tensorboard.SummaryWriter.__init__`.

Uma classe `Tracker` que suporta `tensorboard`. Deve ser inicializada no início do seu script.

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

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

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

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

**Parâmetros:**

run_name (`str`) : O nome da execução do experimento.

- ****kwargs** (argumentos de palavra-chave adicionais, *opcional*) : Argumentos de palavra-chave adicionais passados ao método `wandb.init`.

Uma classe `Tracker` que suporta `wandb`. Deve ser inicializada no início do seu script.

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

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

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

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

**Parâmetros:**

run_name (`str`) : O nome da execução do experimento. Será usado como o nome do `project` ao instanciar o trackio.

- ****kwargs** (argumentos de palavra-chave adicionais, *opcional*) : Argumentos de palavra-chave adicionais passados ao método `trackio.init`. Consulte este [init](https://github.com/gradio-app/trackio/blob/814809552310468b13f84f33764f1369b4e5136c/trackio/__init__.py#L22) para ver todos os argumentos de palavra-chave suportados.

Uma classe `Tracker` que suporta `trackio`. Deve ser inicializada no início do seu script.

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

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

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

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

**Parâmetros:**

run_name (`str`) : O nome da execução do experimento.

- ****kwargs** (argumentos de palavra-chave adicionais, *opcional*) : Argumentos de palavra-chave adicionais passados ao método `comet_ml.start`: https://www.comet.com/docs/v2/api-and-sdk/python-sdk/reference/start/

Uma classe `Tracker` que suporta `comet_ml`. Deve ser inicializada no início do seu script.

As chaves de API devem ser armazenadas em um arquivo de configuração do Comet.

Nota: Para versões < 3.41.0 do `comet_ml`, argumentos de palavra-chave adicionais são passados para `comet_ml.Experiment` em vez disso: 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)
```

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

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

**Parâmetros:**

run_name (`str`) : O nome da execução do experimento.

- ****kwargs** (argumentos de palavra-chave adicionais, *opcional*) : Argumentos de palavra-chave adicionais passados ao método `Run.__init__`.

Uma classe `Tracker` que suporta `aim`. Deve ser inicializada no início do seu script.

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

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

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

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

**Parâmetros:**

experiment_name (`str`, *opcional*) : Nome do experimento. A variável de ambiente MLFLOW_EXPERIMENT_NAME tem prioridade sobre este argumento.

logging_dir (`str` ou `os.PathLike`, padrão `"."`) : Local para armazenar os logs do mlflow.

run_id (`str`, *opcional*) : Se especificado, obtém a execução com o UUID especificado e registra parâmetros e métricas sob essa execução. O horário de término da execução fica não definido e seu status é definido como em execução, mas os outros atributos da execução (source_version, source_type, etc.) não são alterados. A variável de ambiente MLFLOW_RUN_ID tem prioridade sobre este argumento.

tags (`Dict[str, str]`, *opcional*) : Um `dict` opcional de chaves e valores `str`, ou um despejo `str` de um `dict`, para definir como tags na execução. Se uma execução estiver sendo retomada, essas tags são definidas na execução retomada. Se uma nova execução estiver sendo criada, essas tags são definidas na nova execução. A variável de ambiente MLFLOW_TAGS tem prioridade sobre este argumento.

nested_run (`bool`, *opcional*, padrão `False`) : Controla se a execução está aninhada em uma execução pai. True cria uma execução aninhada. A variável de ambiente MLFLOW_NESTED_RUN tem prioridade sobre este argumento.

run_name (`str`, *opcional*) : Nome da nova execução (armazenado como uma tag mlflow.runName). Usado apenas quando `run_id` não é especificado.

description (`str`, *opcional*) : Uma string opcional que preenche a caixa de descrição da execução. Se uma execução estiver sendo retomada, a descrição é definida na execução retomada. Se uma nova execução estiver sendo criada, a descrição é definida na nova execução.

Uma classe `Tracker` que oferece suporte a `mlflow`. Deve ser inicializada no início do seu 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)
```

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

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

**Parâmetros:**

run_name (`str`, *opcional*) : Nome do experimento. As variáveis de ambiente `CLEARML_PROJECT` e `CLEARML_TASK` têm prioridade sobre este argumento.

- ****kwargs** (argumentos de palavra-chave adicionais, *opcional*) : Kwargs passados ao método `Task.__init__`.

Uma classe `Tracker` que suporta `clearml`. Deve ser inicializada no início do seu script.

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

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

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

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

**Parâmetros:**

run_name (`str`) : O nome da execução do experimento.

- ****kwargs** (argumentos de palavra-chave adicionais, *opcional*) : Argumentos de palavra-chave adicionais passados ao método `swanlab.init`.

Uma classe `Tracker` que suporta `swanlab`. Deve ser inicializada no início do seu script.

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

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

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

