Accelerate documentation
Pelacak Eksperimen
Pelacak Eksperimen
GeneralTracker
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.
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 logging, init, dan fungsi terkait lainnya harus terjadi pada proses utama atau di semua proses (secara default menggunakan True)
Harus menjalankan fungsi finalisasi apa pun di dalam API pelacakan. Jika API seharusnya tidak memiliki satu, cukup jangan menimpa metode tersebut.
log
< source >( values: dictstep: int | None = None**kwargs )
Mencatat values ke run saat ini. Implementasi dasar log dari API pelacakan harus ditempatkan di sini, bersama dengan perilaku khusus untuk parameter `step`.
Inisialisasi lazy pelacak di dalam Accelerator untuk menghindari inisialisasi PartialState sebelum InitProcessGroupKwargs.
store_init_configuration
< source >( values: dict )
Mencatat values sebagai hiperparameter untuk run. Implementasi harus menggunakan fungsionalitas konfigurasi eksperimen dari API pelacakan.
register_tracker_class
accelerate.tracking.register_tracker_class
< source >( tracker_class: type )
Parameter
- tracker_class (subclass of
GeneralTracker) β Kelas tracker yang akan didaftarkan. Kelas ini harus menjadi subclass dariGeneralTrackerdan mendefinisikan atribut kelasnameyang tidak kosong serta atribut kelasrequires_logging_directory. Kelas ini diinstansiasi denganproject_nameyang diteruskan keAccelerator.init_trackers()sebagai argumen posisional pertama. Ketikarequires_logging_directorybernilaiTrue, direktori logging diteruskan sebagai argumen posisional kedua (sesuai dengan konvensi tracker bawaan). Argumen kata kunci spesifik tracker dariinit_kwargsditeruskan sebagai**kwargs.
Mendaftarkan subkelas GeneralTracker kustom agar dapat dirujuk melalui name-nya pada argumen log_with dari Accelerator, dengan cara yang sama seperti pelacak bawaan.
Pelacak harus didaftarkan sebelum menginstansiasi Accelerator yang menggunakannya.
Contoh:
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
kelas accelerate.tracking.TensorBoardTracker
< source >( run_name: strlogging_dir: str | os.PathLike**kwargs )
Kelas Tracker yang mendukung tensorboard. Sebaiknya diinisialisasi di awal skrip Anda.
WandBTracker
kelas accelerate.tracking.WandBTracker
< source >( run_name: str**kwargs )
Kelas Tracker yang mendukung wandb. Seharusnya diinisialisasi di awal skrip Anda.
Trackio
kelas accelerate.tracking.TrackioTracker
< source >( run_name: str**kwargs )
Parameter
- run_name (
str) β Nama dari run eksperimen. Akan digunakan sebagai namaprojectsaat menginstansiasi trackio. - **kwargs (argumen kata kunci tambahan, opsional) β
Argumen kata kunci tambahan yang diteruskan ke metode
trackio.init. Lihat init ini untuk melihat semua argumen kata kunci yang didukung.
Kelas Tracker yang mendukung trackio. Sebaiknya diinisialisasi di awal skrip Anda.
CometMLTracker
kelas accelerate.tracking.CometMLTracker
< source >( run_name: str**kwargs )
Parameter
- run_name (
str) β Nama dari run 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__
AimTracker
kelas accelerate.tracking.AimTracker
< source >( run_name: strlogging_dir: str | os.PathLike | None = '.'**kwargs )
Kelas Tracker yang mendukung aim. Sebaiknya diinisialisasi di awal skrip Anda.
MLflowTracker
kelas 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 )
Parameter
- experiment_name (
str, opsional) β Nama eksperimen. Variabel lingkungan MLFLOW_EXPERIMENT_NAME memiliki prioritas lebih tinggi daripada argumen ini. - logging_dir (
stratauos.PathLike, default".") β Lokasi 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 diset ke running, tetapi atribut lain dari run (source_version, source_type, dll.) tidak diubah. Variabel lingkungan MLFLOW_RUN_ID memiliki prioritas di atas argumen ini. - tags (
Dict[str, str], opsional) βdictopsional berisi kunci dan nilaistr, atau dumpstrdaridict, untuk ditetapkan sebagai tag pada run. Jika run sedang dilanjutkan, tag ini ditetapkan pada run yang dilanjutkan. Jika run baru sedang dibuat, tag ini ditetapkan pada run baru. Variabel lingkungan MLFLOW_TAGS memiliki prioritas lebih tinggi daripada argumen ini. - nested_run (
bool, opsional, defaultnyaFalse) β 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 ketikarun_idtidak 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__
< 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
kelas accelerate.tracking.ClearMLTracker
< source >( run_name: str | None = None**kwargs )
Kelas Tracker yang mendukung clearml. Sebaiknya diinisialisasi di awal skrip Anda.
SwanLabTracker
kelas accelerate.tracking.SwanLabTracker
< source >( run_name: str**kwargs )
Kelas Tracker yang mendukung swanlab. Sebaiknya diinisialisasi di awal skrip Anda.