实验跟踪
基本跟踪器类
要用于所有日志记录集成实现的基本跟踪器类。
每个函数应输入 加速器 提供的基本词典中自动传递的**kwargs
。
应实现name
、requires_logging_directory
和 tracker
属性,使得
name
(str
):跟踪器类名称的字符串表示,例如“TensorBoard” requires_logging_directory
(bool
):记录器是否需要目录来存储其日志。 tracker
(object
):应返回跟踪器类使用的内部跟踪机制(例如 wandb 的run
)
实现也可以包含一个main_process_only
(bool
)属性,用于切换相关的日志记录、初始化和其他函数是否应该在主进程或所有进程中发生(默认将使用 True
)
应当运行跟踪 API 内的任何最终化函数。如果 API 应不包含一个,只需不覆盖该方法即可。
日志记录
< source >( values: dict step: Optional **kwargs )
将 values
记录到当前运行。跟踪 API 的基本 log
实现应在此处执行,同时对 `step` 参数执行特殊行为。
store_init_configuration
< 代码 >( values: dict )
将values
作为此次运行的超参数进行记录。实现应使用跟踪 API 的实验配置功能。
集成跟踪器
class accelerate.tracking.TensorBoardTracker
< 源 >( run_name: str logging_dir: Union **kwargs )
类 accelerate.tracking.WandBTracker
< Source >( 运行名称: str **kwargs )
支持 wandb
的 Tracker
类。应在脚本的开头进行初始化。
类 accelerate.tracking.CometMLTracker
< 源代码 >( 运行名称: str **kwargs )
支持 comet_ml
的 Tracker
类。应在脚本的开头进行初始化。
API 密钥必须存储在 Comet 配置文件中。
类 accelerate.tracking.AimTracker
< 源 >( run_name: str logging_dir: Union = '.' **kwargs )
支持 aim
的 Tracker
类。应在脚本的一开始初始化。
类 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 获取运行并记录该运行下的参数和指标。运行的结束时间未设置且其状态设置为正在运行,但运行的其他属性(源版本、源类型等)不会更改。环境变量 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 )
类 accelerate.tracking.ClearMLTracker
< 源代码 >( run_name: str = None **kwargs )
一个支持 clearml
的 Tracker
类。应在脚本开始处初始化。