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

класс accelerate.tracking.GeneralTracker

< >

( _blank = False )

Базовый класс Tracker, используемый во всех реализациях интеграции с системами журналирования.

Каждая функция должна принимать **kwargs, которые автоматически передаются из базового словаря, переданного в Accelerator.

Необходимо реализовать свойства name, requires_logging_directory и tracker так, чтобы:

name (str): Строковое представление имени класса трекера, например, “TensorBoard” requires_logging_directory (bool): Требует ли логгер каталог для хранения журналов. tracker (object): Должен возвращать внутренний механизм отслеживания, используемый классом трекера (например, run для wandb)

Реализации также могут включать атрибут main_process_only (bool) для переключения того, должны ли соответствующие функции журналирования, инициализации и другие выполняться только на основном процессе или на всех процессах (по умолчанию используется True)

finish

< >

( )

Должен выполнять любые функции завершения в рамках API отслеживания. Если в API не требуется такая функция, просто не переопределяйте этот метод.

log

< >

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

Параметры

  • values (словарь str в str, float или int) — Значения, которые будут записаны в виде пар «ключ-значение». Тип значений должен быть str, float или int.
  • step (int, необязательный) — Шаг выполнения. Если указан, запись журнала будет связана с этим шагом.

Записывает values в текущий запуск. Базовые реализации log для API отслеживания должны находиться здесь, а также здесь описывается особое поведение для параметра `step`.

старт

< >

( )

Ленивая инициализация трекера внутри Accelerator, чтобы избежать инициализации PartialState до InitProcessGroupKwargs.

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) — Класс трекера для регистрации. Он должен наследоваться от GeneralTracker и определять непустой атрибут класса name и атрибут класса requires_logging_directory. Экземпляр класса создаётся с передачей project_name, переданного в Accelerator.init_trackers(), в качестве первого позиционного аргумента. Если requires_logging_directory равно True, каталог для записи журнала передаётся вторым позиционным аргументом (в соответствии с соглашением для встроенных трекеров). Специфичные для трекера именованные аргументы из init_kwargs передаются как **kwargs.

Регистрирует собственный подкласс GeneralTracker, чтобы его можно было указать по name в аргументе log_with объекта Accelerator, аналогично встроенным трекерам.

Трекер должен быть зарегистрирован до создания экземпляра Accelerator, который его использует.

Пример:

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

класс accelerate.tracking.TensorBoardTracker

< >

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

Параметры

  • run_name (str) — Имя запуска эксперимента
  • logging_dir (str, os.PathLike) — Место для хранения журналов TensorBoard.
  • **kwargs (дополнительные именованные аргументы, необязательные) — Дополнительные именованные аргументы, передаваемые в метод tensorboard.SummaryWriter.__init__.

Класс Tracker, поддерживающий tensorboard. Должен быть инициализирован в начале вашего скрипта.

__init__

< >

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

WandBTracker

класс accelerate.tracking.WandBTracker

< >

( run_name: str**kwargs )

Параметры

  • run_name (str) — Имя запуска эксперимента.
  • **kwargs (дополнительные именованные аргументы, необязательные) — Дополнительные именованные аргументы, передаваемые в метод wandb.init.

Класс Tracker, поддерживающий wandb. Должен быть инициализирован в начале вашего скрипта.

__init__

< >

( run_name: str**kwargs )

Trackio

класс accelerate.tracking.TrackioTracker

< >

( run_name: str**kwargs )

Параметры

  • run_name (str) — Имя запуска эксперимента. Будет использовано в качестве имени project при инициализации trackio.
  • **kwargs (дополнительные именованные аргументы, необязательные) — Дополнительные именованные аргументы, передаваемые в метод trackio.init. См. init для списка всех поддерживаемых именованных аргументов.

Класс Tracker, поддерживающий trackio. Должен быть инициализирован в начале вашего скрипта.

__init__

< >

( run_name: str**kwargs )

CometMLTracker

класс 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/

Класс Tracker, поддерживающий comet_ml. Должен быть инициализирован в начале вашего скрипта.

Ключи 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__.

Класс Tracker, поддерживающий aim. Должен быть инициализирован в начале вашего скрипта.

__init__

< >

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

MLflowTracker

класс 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, необязательный) — Если указано, получить run с указанным UUID и записывать параметры и метрики в этот run. Время окончания run не устанавливается, а его статус устанавливается в running, но другие атрибуты run (source_version, source_type и т. д.) не изменяются. Переменная окружения MLFLOW_RUN_ID имеет приоритет над этим аргументом.
  • tags (Dict[str, str], необязательный) — Необязательный dict с ключами и значениями типа str или строковый дамп str из dict, который будет установлен в качестве тегов для запуска. Если выполняется возобновление запуска, эти теги устанавливаются на возобновлённый запуск. Если создаётся новый запуск, эти теги устанавливаются на новый запуск. Переменная окружения MLFLOW_TAGS имеет приоритет над этим аргументом.
  • nested_run (bool, необязательный, по умолчанию False) — Управляет тем, является ли run вложенным в родительский run. Значение True создает вложенный run. Переменная окружения MLFLOW_NESTED_RUN имеет приоритет над этим аргументом.
  • run_name (str, необязательный) — Имя нового запуска (хранится как тег mlflow.runName). Используется только при отсутствии run_id.
  • description (str, необязательный) — Необязательная строка, заполняющая поле описания запуска. Если выполняется возобновление запуска, описание устанавливается для возобновляемого запуска. Если создаётся новый запуск, описание устанавливается для нового запуска.

Класс Tracker, поддерживающий mlflow. Должен быть инициализирован в начале вашего скрипта.

__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

класс accelerate.tracking.ClearMLTracker

< >

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

Параметры

  • run_name (str, необязательный) — Имя эксперимента. Переменные окружения CLEARML_PROJECT и CLEARML_TASK имеют приоритет над этим аргументом.
  • **kwargs (дополнительные именованные аргументы, необязательный) — Именованные аргументы, передаваемые в метод Task.__init__.

Класс Tracker, поддерживающий clearml. Должен быть инициализирован в начале вашего скрипта.

__init__

< >

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

SwanLabTracker

класс accelerate.tracking.SwanLabTracker

< >

( run_name: str**kwargs )

Параметры

  • run_name (str) — Имя запуска эксперимента.
  • **kwargs (дополнительные именованные аргументы, необязательные) — Дополнительные именованные аргументы, передаваемые в метод swanlab.init.

Класс Tracker, поддерживающий swanlab. Должен быть инициализирован в начале вашего скрипта.

__init__

< >

( run_name: str**kwargs )

Update on GitHub