Accelerate 文件
實驗跟蹤器
並獲得增強的文件體驗
開始使用
實驗跟蹤器
GeneralTracker
一個用於所有日誌記錄整合實現的 Tracker 基類。
每個函式都應接受 **kwargs
,這些引數將從提供給 Accelerator 的基礎字典中自動傳入。
應實現 name
、requires_logging_directory
和 tracker
屬性,使得
name
(str
): 跟蹤器類名的字串表示,例如 “TensorBoard” requires_logging_directory
(bool
): 日誌記錄器是否需要一個目錄來儲存其日誌。 tracker
(object
): 應返回跟蹤器類使用的內部跟蹤機制(例如 wandb 的 run
)
實現還可以包含一個 main_process_only
(bool
) 屬性,以切換相關日誌記錄、初始化和其他函式是在主程序上發生還是在所有程序上發生(預設為 True
)
應在跟蹤 API 中執行任何收尾函式。如果 API 不應有此功能,則不需覆蓋該方法。
log
< 來源 >( values: dict step: typing.Optional[int] **kwargs )
將 values
記錄到當前執行中。跟蹤 API 的基礎 log
實現應在此處,幷包含針對 `step` 引數的特殊行為。
在 Accelerator 內部延遲初始化跟蹤器,以避免在 InitProcessGroupKwargs 之前初始化 PartialState。
store_init_configuration
< 來源 >( values: dict )
將 values
記錄為執行的超引數。實現應使用跟蹤 API 的實驗配置功能。
TensorBoardTracker
class accelerate.tracking.TensorBoardTracker
< 來源 >( run_name: str logging_dir: typing.Union[str, os.PathLike] **kwargs )
一個支援 tensorboard
的 Tracker
類。應在指令碼開始時初始化。
WandBTracker
class accelerate.tracking.WandBTracker
< 來源 >( run_name: str **kwargs )
一個支援 wandb
的 Tracker
類。應在指令碼開始時初始化。
Trackio
class accelerate.tracking.TrackioTracker
< 來源 >( run_name: str **kwargs )
引數
- run_name (
str
) — 實驗執行的名稱。在例項化 trackio 時將用作project
名稱。 - **kwargs (附加關鍵字引數,可選) — 傳遞給
trackio.init
方法的附加關鍵字引數。請參閱此 init 以檢視所有支援的關鍵字引數。
一個支援 trackio
的 Tracker
類。應在指令碼開始時初始化。
CometMLTracker
class accelerate.tracking.CometMLTracker
< 來源 >( 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 配置檔案中。
注意:對於 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
< 來源 >( run_name: str logging_dir: typing.Union[str, os.PathLike, NoneType] = '.' **kwargs )
一個支援 aim
的 Tracker
類。應在指令碼開始時初始化。
__init__
< 來源 >( run_name: str logging_dir: typing.Union[str, os.PathLike, NoneType] = '.' **kwargs )
MLflowTracker
class accelerate.tracking.MLflowTracker
< 來源 >( experiment_name: str = None logging_dir: typing.Union[str, os.PathLike, NoneType] = None run_id: typing.Optional[str] = None tags: typing.Union[dict[str, typing.Any], str, NoneType] = None nested_run: typing.Optional[bool] = False run_name: typing.Optional[str] = None description: typing.Optional[str] = None )
引數
- experiment_name (
str
,可選) — 實驗名稱。環境變數 MLFLOW_EXPERIMENT_NAME 優先於此引數。 - logging_dir (
str
或os.PathLike
,預設為"."
) — 用於儲存 mlflow 日誌的位置。 - run_id (
str
, 可選) — 如果指定,則獲取具有指定 UUID 的執行,並在該執行下記錄引數和指標。執行的結束時間未設定,其狀態設定為正在執行,但執行的其他屬性(source_version、source_type 等)不會更改。環境變數 MLFLOW_RUN_ID 的優先順序高於此引數。 - tags (
Dict[str, str]
, 可選) — 一個可選的dict
,包含str
型別的鍵和值,或從dict
轉儲的str
,用於在執行上設定標籤。如果正在恢復執行,則在恢復的執行上設定這些標籤。如果正在建立新執行,則在新執行上設定這些標籤。環境變數 MLFLOW_TAGS 的優先順序高於此引數。 - nested_run (
bool
, 可選, 預設為False
) — 控制執行是否巢狀在父執行中。True 建立一個巢狀執行。環境變數 MLFLOW_NESTED_RUN 的優先順序高於此引數。 - run_name (
str
, 可選) — 新執行的名稱(作為 mlflow.runName 標籤儲存)。僅在未指定run_id
時使用。 - description (
str
, 可選) — 一個可選字串,用於填充執行的描述框。如果正在恢復執行,則在恢復的執行上設定描述。如果正在建立新執行,則在新執行上設定描述。
一個支援 mlflow
的 Tracker
類。應在指令碼開始時初始化。
__init__
< 原始碼 >( experiment_name: str = None logging_dir: typing.Union[str, os.PathLike, NoneType] = None run_id: typing.Optional[str] = None tags: typing.Union[dict[str, typing.Any], str, NoneType] = None nested_run: typing.Optional[bool] = False run_name: typing.Optional[str] = None description: typing.Optional[str] = None )
ClearMLTracker
class accelerate.tracking.ClearMLTracker
< 原始碼 >( run_name: str = None **kwargs )
一個支援 clearml
的 Tracker
類。應在指令碼開始時初始化。
SwanLabTracker
class accelerate.tracking.SwanLabTracker
< 原始碼 >( run_name: str **kwargs )
一個支援 swanlab
的 Tracker
類。應在指令碼開始時初始化。