Accelerate documentation

实验跟踪器

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v1.15.0).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

实验跟踪器

GeneralTracker

class accelerate.tracking.GeneralTracker

< >

( _blank = False )

用于所有日志集成实现的基础 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 不应包含此类函数,则不要重写该方法。

日志

< >

( values: dictstep: int | None = None**kwargs )

参数

  • values(str 到 str、float 或 int 的字典)— 要作为键值对记录的值。这些值的类型必须为 str、float 或 int。
  • step (int, 可选) — 运行步骤。如果包含此参数,日志将关联到该步骤。

将 values 记录到当前运行中。跟踪 API 的 log 基础实现应放在此处,同时包含针对 `step` 参数的特殊行为。

开始

< >

( )

在 Accelerator 内部延迟初始化 tracker,以避免在 InitProcessGroupKwargs 之前初始化 PartialState。

store_init_configuration

< >

( values: dict )

参数

  • values(str 到 bool、str、float 或 int 的字典)— 要作为初始超参数存储的键值对。值的类型需要为 bool、 str、float、int 或 None。

将 values 作为超参数记录到运行日志中。实现应使用跟踪 API 的实验配置功能。

register_tracker_class

accelerate.tracking.register_tracker_class

< >

( tracker_class: type )

参数

  • tracker_class(GeneralTracker 的子类) — 要注册的 tracker 类。它必须继承自 GeneralTracker,并定义一个非空的 name 类属性以及一个 requires_logging_directory 类属性。该类实例化时,会将传递给 Accelerator.init_trackers() 的 project_name 作为第一个位置参数传入。当 requires_logging_directory 为 True 时,日志目录将作为第二个位置参数传入(与内置 tracker 的约定一致)。来自 init_kwargs 的特定于 tracker 的关键字参数会作为 **kwargs 转发。

注册一个自定义的 GeneralTracker 子类,以便在 Accelerator 的 log_with 参数中通过其 name 进行引用,方式与内置跟踪器相同。

在实例化使用它的 Accelerator 之前,必须先注册该 tracker。

示例:

from accelerate import Accelerator
from accelerate.tracking import GeneralTracker, register_tracker_class


class MyTracker(GeneralTracker):
    name = "my_tracker"
    requires_logging_directory = False
    # ... implement the rest of the `GeneralTracker` interface


register_tracker_class(MyTracker)
accelerator = Accelerator(log_with="my_tracker")

TensorBoardTracker

class accelerate.tracking.TensorBoardTracker

< >

( run_name: strlogging_dir: str | os.PathLike**kwargs )

参数

  • run_name (str) — 实验运行的名称
  • logging_dir (str, os.PathLike) — TensorBoard 日志的存储位置。
  • **kwargs(额外的关键字参数,可选)— 传递给 tensorboard.SummaryWriter.__init__ 方法的额外关键字参数。

支持 tensorboard 的 Tracker 类。应在脚本开始时进行初始化。

__init__

< >

( run_name: strlogging_dir: str | os.PathLike**kwargs )

WandBTracker

class accelerate.tracking.WandBTracker

< >

( run_name: str**kwargs )

参数

  • run_name (str) — 实验运行的名称。
  • **kwargs(额外的关键字参数,可选)— 传递给 wandb.init 方法的额外关键字参数。

支持 wandb 的 Tracker 类。应在脚本开始时进行初始化。

__init__

< >

( run_name: str**kwargs )

Trackio

class accelerate.tracking.TrackioTracker

< >

( run_name: str**kwargs )

参数

  • run_name (str) — 实验运行的名称。在实例化 trackio 时,将用作 project 名称。
  • **kwargs(额外的关键字参数,可选) — 传递给 trackio.init 方法的额外关键字参数。请参阅此 init 以查看所有支持的关键字参数。

支持 trackio 的 Tracker 类。应在脚本开始时进行初始化。

__init__

< >

( run_name: str**kwargs )

CometMLTracker

class accelerate.tracking.CometMLTracker

< >

( run_name: str**kwargs )

参数

支持 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__

__init__

< >

( run_name: str**kwargs )

AimTracker

类 accelerate.tracking.AimTracker

< >

( run_name: strlogging_dir: str | os.PathLike | None = '.'**kwargs )

参数

  • run_name (str) — 实验运行的名称。
  • **kwargs(额外的关键字参数,可选) — 传递给 Run.__init__ 方法的额外关键字参数。

支持 aim 的 Tracker 类。应在脚本开始时进行初始化。

__init__

< >

( run_name: strlogging_dir: str | os.PathLike | None = '.'**kwargs )

MLflowTracker

class accelerate.tracking.MLflowTracker

< >

( experiment_name: str | None = Nonelogging_dir: str | os.PathLike | None = Nonerun_id: str | None = Nonetags: dict[str, typing.Any] | str | None = Nonenested_run: bool | None = Falserun_name: str | None = Nonedescription: str | None = None )

参数

  • experiment_name (str, 可选) — 实验的名称。环境变量 MLFLOW_EXPERIMENT_NAME 的优先级高于此参数。
  • logging_dir (str 或 os.PathLike,默认为 ".") — mlflow 日志的存储位置。
  • run_id (str, 可选) — 如果指定,则获取具有指定 UUID 的运行,并在该运行下记录参数和指标。该运行的结束时间未设置,其状态设置为 running,但该运行的其他属性(source_version、source_type 等)不会更改。环境变量 MLFLOW_RUN_ID 的优先级高于此参数。
  • tags (Dict[str, str], 可选) — 一个可选的 dict,其键和值均为 str,或一个 dict 的 str 转储,用于设置运行的标签。如果正在恢复某个运行,这些标签将设置在恢复后的运行上。如果正在创建新运行,这些标签将设置在新运行上。环境变量 MLFLOW_TAGS 的优先级高于此参数。
  • nested_run (bool,可选,默认为 False) — 控制 run 是否嵌套在父 run 中。True 表示创建一个嵌套 run。环境变量 MLFLOW_NESTED_RUN 的优先级高于此参数。
  • run_name (str, 可选) — 新运行的名称(存储为 mlflow.runName 标签)。仅在未指定 run_id 时使用。
  • description (str, 可选) — 一个可选的字符串,用于填充运行的描述框。如果正在恢复某个运行,描述将设置在恢复后的运行上。如果正在创建新运行,描述将设置在新运行上。

支持 mlflow 的 Tracker 类。应在脚本开始时进行初始化。

__init__

< >

( experiment_name: str | None = Nonelogging_dir: str | os.PathLike | None = Nonerun_id: str | None = Nonetags: dict[str, typing.Any] | str | None = Nonenested_run: bool | None = Falserun_name: str | None = Nonedescription: str | None = None )

ClearMLTracker

class accelerate.tracking.ClearMLTracker

< >

( run_name: str | None = None**kwargs )

参数

  • run_name (str, 可选) — 实验的名称。环境变量 CLEARML_PROJECT 和 CLEARML_TASK 的优先级高于此参数。
  • **kwargs(额外的关键字参数,可选)— 传递给 Task.__init__ 方法的 kwargs。

支持 clearml 的 Tracker 类。应在脚本开始时进行初始化。

__init__

< >

( run_name: str | None = None**kwargs )

SwanLabTracker

class accelerate.tracking.SwanLabTracker

< >

( run_name: str**kwargs )

参数

  • run_name (str) — 实验运行的名称。
  • **kwargs(额外的关键字参数,可选) — 传递给 swanlab.init 方法的额外关键字参数。

支持 swanlab 的 Tracker 类。应在脚本开始时进行初始化。

__init__

< >

( run_name: str**kwargs )

Update on GitHub