实验跟踪器
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
< source >( values: dict step: Optional **kwargs )
将 values
记录到当前运行。跟踪 API 的基础 log
实现应在此处进行,以及针对 `step` 参数的特殊行为。
store_init_configuration
< source >( values: dict )
将 values
记录为运行的超参数。实现应使用跟踪 API 的实验配置功能。
TensorBoardTracker
class accelerate.tracking.TensorBoardTracker
< source >( run_name: str logging_dir: Union **kwargs )
支持 tensorboard
的 Tracker
类。应在脚本开始时初始化。
WandBTracker
class accelerate.tracking.WandBTracker
< source >( run_name: str **kwargs )
一个支持 wandb
的 Tracker
类。应该在脚本开始时初始化。
CometMLTracker
class accelerate.tracking.CometMLTracker
< 源码 >( run_name: str **kwargs )
一个支持 comet_ml
的 Tracker
类。应该在脚本开始时初始化。
API 密钥必须存储在 Comet 配置文件中。
AimTracker
class accelerate.tracking.AimTracker
< 源码 >( run_name: str logging_dir: Union = '.' **kwargs )
一个支持 aim
的 Tracker
类。应该在脚本开始时初始化。
MLflowTracker
class accelerate.tracking.MLflowTracker
< 源码 >( experiment_name: str = None logging_dir: Union = None run_id: Optional = None tags: Union = None nested_run: Optional = False run_name: Optional = None description: Optional = 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: Union = None run_id: Optional = None tags: Union = None nested_run: Optional = False run_name: Optional = None description: Optional = None )
ClearMLTracker
class accelerate.tracking.ClearMLTracker
< 源码 >( run_name: str = None **kwargs )
一个支持 clearml
的 Tracker
类。 应该在脚本开始时初始化。