# Pelacak Eksperimen

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

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

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

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

Kelas dasar Tracker yang digunakan untuk semua implementasi integrasi logging.

Setiap fungsi harus menerima `**kwargs` yang akan otomatis diteruskan dari kamus dasar yang diberikan ke [Accelerator](/docs/accelerate/main/id/package_reference/accelerator#accelerate.Accelerator).

Harus mengimplementasikan properti `name`, `requires_logging_directory`, dan `tracker` sedemikian rupa sehingga:

`name` (`str`): Representasi string dari nama kelas pelacak, seperti "TensorBoard" `requires_logging_directory` (`bool`): Apakah logger memerlukan direktori untuk menyimpan log mereka. `tracker` (`object`): Seharusnya mengembalikan mekanisme pelacakan internal yang digunakan oleh kelas pelacak (seperti `run` untuk wandb)

Implementasi juga dapat menyertakan atribut `main_process_only` (`bool`) untuk mengatur apakah fungsi logging, init, dan fungsi terkait lainnya harus terjadi pada proses utama atau di semua proses (secara default menggunakan `True`)

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

```python
finish()
```

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

Harus menjalankan fungsi finalisasi apa pun di dalam API pelacakan. Jika API seharusnya tidak memiliki satu, cukup jangan menimpa metode tersebut.

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

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

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

**Parameter:**

values (Dictionary `str` ke `str`, `float`, atau `int`) : Nilai yang akan dicatat sebagai pasangan kunci-nilai. Nilai harus bertipe `str`, `float`, atau `int`.

step (`int`, *opsional*) : Langkah eksekusi. Jika disertakan, log akan dikaitkan dengan langkah ini.

Mencatat `values` ke run saat ini. Implementasi dasar `log` dari API pelacakan harus diletakkan di sini, bersama dengan perilaku khusus untuk parameter `step`.

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

```python
start()
```

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

Inisialisasi lazy pelacak di dalam Accelerator untuk menghindari inisialisasi PartialState sebelum InitProcessGroupKwargs.

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

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

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

**Parameter:**

values (Dictionary `str` ke `bool`, `str`, `float` atau `int`) : Nilai yang akan disimpan sebagai hiperparameter awal dalam pasangan kunci-nilai. Nilai tersebut harus bertipe `bool`, `str`, `float`, `int`, atau `None`.

Mencatat `values` sebagai hiperparameter untuk run. Implementasi harus menggunakan fungsionalitas konfigurasi eksperimen dari API pelacakan.

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

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

**Parameter:**

tracker_class (subkelas dari `GeneralTracker`) : Kelas pelacak yang akan didaftarkan. Kelas ini harus menjadi subkelas dari `GeneralTracker` dan mendefinisikan atribut kelas `name` yang tidak kosong serta atribut kelas `requires_logging_directory`. Kelas ini diinstansiasi dengan `project_name` yang diteruskan ke `Accelerator.init_trackers()` sebagai argumen posisional pertama. Ketika `requires_logging_directory` bernilai `True`, direktori log diteruskan sebagai argumen posisional kedua (sesuai dengan konvensi pelacak bawaan). Argumen kata kunci spesifik pelacak dari `init_kwargs` diteruskan sebagai `**kwargs`.

Mendaftarkan subkelas `GeneralTracker` kustom agar dapat dirujuk melalui `name`-nya pada argumen `log_with` dari [Accelerator](/docs/accelerate/main/id/package_reference/accelerator#accelerate.Accelerator), dengan cara yang sama seperti pelacak bawaan.

Pelacak harus didaftarkan sebelum menginstansiasi [Accelerator](/docs/accelerate/main/id/package_reference/accelerator#accelerate.Accelerator) yang menggunakannya.

Contoh:

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

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

**Parameter:**

run_name (`str`) : Nama dari eksekusi eksperimen

logging_dir (`str`, `os.PathLike`) : Lokasi untuk penyimpanan log TensorBoard.

- ****kwargs** (argumen kata kunci tambahan, *opsional*) : Argumen kata kunci tambahan yang diteruskan ke metode `tensorboard.SummaryWriter.__init__`.

Kelas `Tracker` yang mendukung `tensorboard`. Sebaiknya diinisialisasi di awal skrip Anda.

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

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

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

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

**Parameter:**

run_name (`str`) : Nama dari eksekusi eksperimen.

- ****kwargs** (argumen kata kunci tambahan, *opsional*) : Argumen kata kunci tambahan yang diteruskan ke metode `wandb.init`.

Kelas `Tracker` yang mendukung `wandb`. Seharusnya diinisialisasi di awal skrip Anda.

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

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

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

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

**Parameter:**

run_name (`str`) : Nama dari eksekusi eksperimen. Akan digunakan sebagai nama `project` saat menginstansiasi trackio.

- ****kwargs** (argumen kata kunci tambahan, *opsional*) : Argumen kata kunci tambahan yang diteruskan ke metode `trackio.init`. Lihat [init](https://github.com/gradio-app/trackio/blob/814809552310468b13f84f33764f1369b4e5136c/trackio/__init__.py#L22) ini untuk melihat semua argumen kata kunci yang didukung.

Kelas `Tracker` yang mendukung `trackio`. Sebaiknya diinisialisasi di awal skrip Anda.

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

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

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

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

**Parameter:**

run_name (`str`) : Nama dari eksekusi eksperimen.

- ****kwargs** (argumen kata kunci tambahan, *opsional*) : Argumen kata kunci tambahan yang diteruskan ke metode `comet_ml.start`: https://www.comet.com/docs/v2/api-and-sdk/python-sdk/reference/start/

Kelas `Tracker` yang mendukung `comet_ml`. Sebaiknya diinisialisasi di awal skrip Anda.

Kunci API harus disimpan dalam file konfigurasi Comet.

Catatan: Untuk versi `comet_ml` < 3.41.0, argumen kata kunci tambahan diteruskan ke `comet_ml.Experiment` sebagai gantinya: 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)
```

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

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

**Parameter:**

run_name (`str`) : Nama dari eksekusi eksperimen.

- ****kwargs** (argumen kata kunci tambahan, *opsional*) : Argumen kata kunci tambahan yang diteruskan ke metode `Run.__init__`.

Kelas `Tracker` yang mendukung `aim`. Sebaiknya diinisialisasi di awal skrip Anda.

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

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

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

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

**Parameter:**

experiment_name (`str`, *opsional*) : Nama eksperimen. Variabel lingkungan MLFLOW_EXPERIMENT_NAME memiliki prioritas lebih tinggi daripada argumen ini.

logging_dir (`str` atau `os.PathLike`, defaultnya `"."`) : Lokasi untuk penyimpanan log mlflow.

run_id (`str`, *opsional*) : Jika ditentukan, ambil run dengan UUID yang ditentukan dan catat parameter serta metrik di bawah run tersebut. Waktu akhir run tidak diset dan statusnya di-set ke running, tetapi atribut lain dari run (source_version, source_type, dll.) tidak diubah. Variabel lingkungan MLFLOW_RUN_ID memiliki prioritas lebih tinggi daripada argumen ini.

tags (`Dict[str, str]`, *opsional*) : `dict` opsional dengan kunci dan nilai `str`, atau dump `str` dari `dict`, untuk diset sebagai tag pada run. Jika run sedang dilanjutkan, tag ini diset pada run yang dilanjutkan. Jika run baru sedang dibuat, tag ini diset pada run baru. Variabel lingkungan MLFLOW_TAGS memiliki prioritas lebih tinggi daripada argumen ini.

nested_run (`bool`, *opsional*, defaultnya `False`) : Mengontrol apakah run bersarang di dalam run induk. True membuat run bersarang. Variabel lingkungan MLFLOW_NESTED_RUN memiliki prioritas lebih tinggi daripada argumen ini.

run_name (`str`, *opsional*) : Nama run baru (disimpan sebagai tag mlflow.runName). Hanya digunakan ketika `run_id` tidak ditentukan.

description (`str`, *opsional*) : String opsional yang mengisi kotak deskripsi dari run. Jika run sedang dilanjutkan, deskripsi akan diset pada run yang dilanjutkan. Jika run baru sedang dibuat, deskripsi akan diset pada run baru tersebut.

Kelas `Tracker` yang mendukung `mlflow`. Sebaiknya diinisialisasi di awal skrip Anda.

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

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

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

**Parameter:**

run_name (`str`, *opsional*) : Nama eksperimen. Variabel lingkungan `CLEARML_PROJECT` dan `CLEARML_TASK` memiliki prioritas lebih tinggi daripada argumen ini.

- ****kwargs** (argumen kata kunci tambahan, *opsional*) : Kwargs yang diteruskan ke metode `Task.__init__`.

Kelas `Tracker` yang mendukung `clearml`. Sebaiknya diinisialisasi di awal skrip Anda.

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

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

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

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

**Parameter:**

run_name (`str`) : Nama dari eksekusi eksperimen.

- ****kwargs** (argumen kata kunci tambahan, *opsional*) : Argumen kata kunci tambahan yang diteruskan ke metode `swanlab.init`.

Kelas `Tracker` yang mendukung `swanlab`. Sebaiknya diinisialisasi di awal skrip Anda.

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

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

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

