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
类。应在脚本开始时初始化。