Accelerate documentation
실험 트래커
실험 트래커
GeneralTracker
모든 로깅 통합 구현에 사용할 기본 Tracker 클래스입니다.
각 함수는 Accelerator에 제공된 기본 사전(base dictionary)에서 자동으로 전달되는 **kwargs를 입력으로 받아야 합니다.
다음과 같이 name, requires_logging_directory, tracker 속성을 구현해야 합니다:
name (str): “TensorBoard”와 같은 트래커 클래스 이름의 문자열 표현 requires_logging_directory (bool): 로거가 로그를 저장하는 데 디렉터리가 필요한지 여부 tracker (object): 트래커 클래스가 사용하는 내부 추적 메커니즘(예: wandb의 run)을 반환해야 합니다
구현에는 관련 로깅, 초기화 및 기타 함수가 메인 프로세스에서 실행될지 아니면 모든 프로세스에서 실행될지를 전환하기 위해 main_process_only (bool) 속성을 포함할 수도 있습니다(기본값은 True입니다).
내에서 모든 최종화 함수를 실행해야 합니다. API에 해당 함수가 없다면, 해당 메서드를 오버라이드하지 않으면 됩니다.
로그
< source >( values: dictstep: int | None = None**kwargs )
현재 실행에 values를 기록합니다. 추적 API의 기본 log 구현과 `step` 파라미터에 대한 특수 동작을 여기에 포함해야 합니다.
InitProcessGroupKwargs보다 PartialState를 초기화하기 전에 Accelerator 내부의 tracker를 지연 초기화하도록 변경했습니다.
store_init_configuration
< source >( values: dict )
실행의 하이퍼파라미터로 values를 로그로 기록합니다. 구현에서는 추적 API의 실험 구성 기능을 사용해야 합니다.
register_tracker_class
accelerate.tracking.register_tracker_class
< source >( tracker_class: type )
매개변수
- tracker_class (
GeneralTracker의 하위 클래스) — 등록할 tracker 클래스입니다.GeneralTracker를 하위 클래스로 가져야 하며, 비어 있지 않은name클래스 속성과requires_logging_directory클래스 속성을 정의해야 합니다. 이 클래스는Accelerator.init_trackers()에 전달된project_name을 첫 번째 위치 인수로 사용하여 인스턴스화됩니다.requires_logging_directory가True인 경우, logging directory가 두 번째 위치 인수로 전달됩니다(내장 tracker 규약과 일치).init_kwargs의 tracker 전용 키워드 인수는**kwargs로 전달됩니다.
log_with 인수의 Accelerator에서 내장된 트래커와 동일한 방식으로 name을 통해 참조할 수 있도록 사용자 정의 GeneralTracker 하위 클래스를 등록합니다.
이를 사용하는 Accelerator를 인스턴스화하기 전에 트래커를 등록해야 합니다.
예:
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
class accelerate.tracking.TensorBoardTracker
< source >( run_name: strlogging_dir: str | os.PathLike**kwargs )
tensorboard를 지원하는 Tracker 클래스입니다. 스크립트의 시작 부분에 초기화해야 합니다.
WandBTracker
class accelerate.tracking.WandBTracker
< source >( run_name: str**kwargs )
wandb를 지원하는 Tracker 클래스입니다. 스크립트 시작 시 초기화해야 합니다.
Trackio
class accelerate.tracking.TrackioTracker
< source >( run_name: str**kwargs )
매개변수
- run_name (
str) — 실험 실행의 이름입니다. trackio를 초기화할 때project이름으로 사용됩니다. - **kwargs (추가 키워드 인자, 선택 사항) —
trackio.init메서드로 전달되는 추가 키워드 인자입니다. 지원되는 모든 키워드 인자를 확인하려면 이 init 를 참조하세요.
trackio를 지원하는 Tracker 클래스입니다. 스크립트 시작 시 초기화해야 합니다.
CometMLTracker
class accelerate.tracking.CometMLTracker
< source >( run_name: str**kwargs )
매개변수
- run_name (
str) — 실험 실행의 이름입니다. - **kwargs (추가 키워드 인자, 선택 사항) —
comet_ml.start메서드로 전달되는 추가 키워드 인자: https://www.comet.com/docs/v2/api-and-sdk/python-sdk/reference/start/
comet_ml을 지원하는 Tracker 클래스입니다. 스크립트의 시작 부분에 초기화해야 합니다.
API 키는 Comet 설정 파일에 저장해야 합니다.
Note:
comet_ml 버전 3.41.0 미만에서는 추가 키워드 인수가 comet_ml.Experiment에 대신 전달됩니다: https://www.comet.com/docs/v2/api-and-sdk/python-sdk/reference/Experiment/#comet_ml.Experiment.__init__
AimTracker
class accelerate.tracking.AimTracker
< source >( run_name: strlogging_dir: str | os.PathLike | None = '.'**kwargs )
aim을 지원하는 Tracker 클래스입니다. 스크립트 시작 시 초기화해야 합니다.
MLflowTracker
class 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 )
매개변수
- experiment_name (
str, 선택 사항) — 실험 이름. 환경 변수 MLFLOW_EXPERIMENT_NAME이 이 인자보다 우선합니다. - logging_dir (
str또는os.PathLike, 기본값".") — mlflow 로그가 저장될 위치입니다. - run_id (
str, 선택 사항) — 지정된 경우, 해당 UUID를 가진 실행을 가져와 그 실행 아래에 매개변수와 메트릭을 기록합니다. 실행의 종료 시간은 설정되지 않고 상태는 running으로 설정되지만, 실행의 다른 속성(source_version, source_type 등)은 변경되지 않습니다. 환경 변수 MLFLOW_RUN_ID가 이 인자보다 우선합니다. - tags (
Dict[str, str], 선택) — 실행(run)에 태그로 설정할str키와 값으로 구성된 선택적dict또는dict에서str로 덤프한 값입니다. 실행이 재개되는 경우, 이 태그는 재개된 실행에 설정됩니다. 새로운 실행이 생성되는 경우, 이 태그는 새로운 실행에 설정됩니다. 환경 변수 MLFLOW_TAGS가 이 인자보다 우선합니다. - nested_run (
bool, 선택 사항, 기본값False) — run이 부모 run에 중첩되는지 여부를 제어합니다. True를 설정하면 중첩된 run이 생성됩니다. 환경 변수 MLFLOW_NESTED_RUN이 이 인자보다 우선합니다. - run_name (
str, 선택 사항) — 새 실행의 이름(mlflow.runName 태그로 저장됨).run_id가 지정되지 않은 경우에만 사용됩니다. - description (
str, 선택 사항) — 실행의 설명 상자를 채우는 선택적 문자열입니다. 실행을 재개하는 경우, 설명은 재개된 실행에 설정됩니다. 새로운 실행이 생성되는 경우, 설명은 새로운 실행에 설정됩니다.
mlflow를 지원하는 Tracker 클래스입니다. 스크립트 시작 시 초기화해야 합니다.
__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
class accelerate.tracking.ClearMLTracker
< source >( run_name: str | None = None**kwargs )
clearml을 지원하는 Tracker 클래스입니다. 스크립트 시작 부분에 초기화해야 합니다.
SwanLabTracker
class accelerate.tracking.SwanLabTracker
< source >( run_name: str**kwargs )
swanlab를 지원하는 Tracker 클래스입니다. 스크립트 시작 시 초기화해야 합니다.