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
< source >( values: dict step: typing.Optional[int] **kwargs )
将 values
记录到当前运行。跟踪 API 的基本 log
实现应在此处进行,以及 step
参数的特殊行为。
store_init_configuration
< source >( values: dict )
将 values
记录为运行的超参数。实现应使用跟踪 API 的实验配置功能。
TensorBoardTracker
类 accelerate.tracking.TensorBoardTracker
< source >( run_name: str logging_dir: typing.Union[str, os.PathLike] **kwargs )
一个支持 tensorboard
的 Tracker
类。应在脚本开始时初始化。
WandBTracker
类 accelerate.tracking.WandBTracker
< source >( run_name: str **kwargs )
支持 wandb
的 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 配置文件中。
注意:对于 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: str logging_dir: typing.Union[str, os.PathLike, NoneType] = '.' **kwargs )
支持 aim
的 Tracker
类。应该在脚本开始时初始化。
__init__
< source >( run_name: str logging_dir: typing.Union[str, os.PathLike, NoneType] = '.' **kwargs )
MLflowTracker
class accelerate.tracking.MLflowTracker
< source >( 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
, optional) — 实验的名称。环境变量 MLFLOW_EXPERIMENT_NAME 优先于此参数。 - logging_dir (
str
或os.PathLike
, 默认为"."
) — 存储 mlflow 日志的位置。 - run_id (
str
, optional) — 如果指定,则获取具有指定 UUID 的运行,并在该运行下记录参数和指标。运行的结束时间未设置,其状态设置为正在运行,但运行的其他属性(source_version、source_type 等)不会更改。环境变量 MLFLOW_RUN_ID 优先于此参数。 - tags (
Dict[str, str]
, optional) — 一个可选的dict
,包含str
键和值,或从dict
转储的str
,以设置为运行的标签。如果正在恢复运行,则在恢复的运行上设置这些标签。如果正在创建新运行,则在新运行上设置这些标签。环境变量 MLFLOW_TAGS 优先于此参数。 - nested_run (
bool
, optional, 默认为False
) — 控制运行是否嵌套在父运行中。True 创建一个嵌套运行。环境变量 MLFLOW_NESTED_RUN 优先于此参数。 - run_name (
str
, optional) — 新运行的名称(存储为 mlflow.runName 标签)。仅在未指定run_id
时使用。 - description (
str
, optional) — 一个可选的字符串,用于填充运行的描述框。如果正在恢复运行,则在恢复的运行上设置描述。如果正在创建新运行,则在新运行上设置描述。
支持 mlflow
的 Tracker
类。应该在脚本开始时初始化。
__init__
< source >( 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
< source >( run_name: str = None **kwargs )
一个支持 clearml
的 Tracker
类。应该在脚本开始时初始化。