Transformers documentation
Обработчики событий
Обработчики событий
Объекты Callbacks позволяют настраивать поведение цикла обучения в PyTorch Trainer: они могут анализировать состояние цикла обучения (для отчёта о прогрессе, логирования в TensorBoard или других ML-платформах…) и принимать решения (например, о ранней остановке).
Объекты TrainerControl, возвращаемые колбэками, являются единственным исключением: сами колбэки представляют собой код, работающий в режиме «только чтение», и не могут изменять ничего в цикле обучения. Для кастомизации, требующей модификации цикла обучения, следует создать подкласс Trainer и переопределить необходимые методы (примеры см. в разделе trainer).
По умолчанию TrainingArguments.report_to установлен в значение "none".
Основной класс, реализующий обратные вызовы, — это TrainerCallback. Он получает TrainingArguments, использованные для создания экземпляра Trainer, может обращаться к внутреннему состоянию этого Trainer через TrainerState и выполнять некоторые действия в цикле обучения с помощью TrainerControl.
Доступные обратные вызовы
Вот список доступных в библиотеке TrainerCallback:
Класс TrainerCallback, который отправляет логи в Comet ML.
Настройте необязательную интеграцию с Comet.
Окружение:
- COMET_MODE (
str, необязательный, по умолчаниюget_or_create): Управляет тем, следует ли создавать новый эксперимент Comet и вести в него журнал или добавлять данные в существующий эксперимент. Принимает следующие значения:get_or_create: автоматически определяет поведение в зависимости от того, задан лиCOMET_EXPERIMENT_KEYи существует ли уже Experiment с этим ключом.create: Всегда создавать новый эксперимент Comet.get: всегда пытайтесь добавлять данные в существующий эксперимент Comet. Требуется, чтобы переменнаяCOMET_EXPERIMENT_KEYбыла задана.
- COMET_START_ONLINE (
bool, необязательный): Создавать ли онлайн- или офлайн-эксперимент. - COMET_PROJECT_NAME (
str, необязательный): Имя проекта Comet для экспериментов. - COMET_LOG_ASSETS (
str, необязательный, по умолчаниюTRUE): Определяет, следует ли отправлять в Comet данные о тренировке (чекпоинты и т. д.). Может принимать значениеTRUEилиFALSE.
Список настраиваемых параметров окружения см. здесь.
Класс TrainerCallback, который обрабатывает стандартный поток цикла обучения для ведения журналов, оценки и создания контрольных точек.
Голый TrainerCallback, который просто выводит логи.
Колбэк TrainerCallback, отображающий ход обучения или оценки.
Вы можете изменить max_str_len, чтобы управлять длиной обрезки строк при ведении журнала.
класс transformers.EarlyStoppingCallback
< source >( early_stopping_patience: int = 1early_stopping_threshold: float | None = 0.0 )
Параметры
- early_stopping_patience (
int) — Используйте вместе сmetric_for_best_model, чтобы остановить обучение, если указанная метрика ухудшается в течениеearly_stopping_patienceвызовов оценки. - early_stopping_threshold(
float, optional) — Используйте вместе с TrainingArgumentsmetric_for_best_modelиearly_stopping_patience, чтобы указать, насколько должна улучшиться указанная метрика для выполнения условий раннего останова. `
Класс TrainerCallback, реализующий раннюю остановку.
Этот колбэк использует функциональность аргумента load_best_model_at_end в TrainingArguments для установки best_metric в TrainerState. Обратите внимание, что если аргумент save_steps в TrainingArguments отличается от eval_steps, остановка обучения не произойдёт до следующего шага сохранения.
класс transformers.integrations.TensorBoardCallback
< source >( tb_writer = None )
Класс TrainerCallback, который отправляет логи в TensorBoard.
Окружение:
- TENSORBOARD_LOGGING_DIR (
str, необязательный, по умолчаниюNone): Каталог для записи результатов. Значение по умолчанию — os.path.join(args.output_dir, default_logdir())
Класс TrainerCallback, который записывает метрики в Trackio.
Настройте необязательную интеграцию с Trackio.
Чтобы настроить конфигурацию, вы также можете задать project, trackio_space_id, trackio_bucket_id, trackio_static_space_id и hub_private_repo в TrainingArguments.
Класс TrainerCallback, который записывает метрики, медиафайлы и контрольные точки модели в Weight and Biases.
Настройте необязательную интеграцию с Weights & Biases (wandb).
Можно создать подкласс и переопределить этот метод, чтобы настроить процесс при необходимости. Подробнее — здесь. Также можно переопределить следующие переменные окружения:
Окружение:
- WANDB_LOG_MODEL (
str, необязательный, по умолчанию"false"): Определяет, следует ли регистрировать модель и контрольные точки во время обучения. Может принимать значения"end","checkpoint"или"false". Если установлено значение"end", модель будет загружена в конце обучения. Если установлено значение"checkpoint", контрольная точка будет загружаться каждыеargs.save_steps. Если установлено значение"false", модель не будет загружена. Используйте вместе сload_best_model_at_end()для загрузки лучшей модели. - WANDB_WATCH (
str, необязательный, по умолчанию"false"): Может принимать значения"gradients","all","parameters"или"false". Установите значение"all", чтобы записывать градиенты и параметры. - WANDB_PROJECT (
str, необязательный, по умолчанию"huggingface"): Укажите здесь собственную строку, чтобы сохранять результаты в другом проекте.
Класс TrainerCallback, который отправляет логи в MLflow. Может быть отключён путём установки переменной окружения DISABLE_MLFLOW_INTEGRATION = TRUE.
Настройте необязательную интеграцию с MLflow.
Окружение:
- HF_MLFLOW_LOG_ARTIFACTS (
str, необязательный): Определяет, следует ли использовать механизм.log_artifact()MLflow для записи артефактов. Это имеет смысл только при записи на удалённый сервер, например s3 или GCS. Если установлено значениеTrueили 1, каждый сохранённый контрольный пункт изoutput_dirв TrainingArguments будет копироваться в локальное или удалённое хранилище артефактов при каждом сохранении. Использование без удалённого хранилища приведёт лишь к копированию файлов в ваше расположение артефактов. - MLFLOW_TRACKING_URI (
str, необязательный): Определяет, следует ли сохранять эксперименты по конкретному пути или на удалённом сервере. По умолчанию не задан, что приводит к полному пропуску установки URI отслеживания. - MLFLOW_EXPERIMENT_NAME (
str, необязательный, по умолчаниюNone): Определяет, следует ли использовать experiment_name MLflow, в рамках которого будет запущен run. По умолчаниюNone, что указывает на экспериментDefaultв MLflow. В противном случае это имя эксперимента, чувствительное к регистру, которое будет активировано. Если эксперимент с таким именем не существует, будет создан новый эксперимент с этим именем. - MLFLOW_TAGS (
str, необязательный): Строковое представление словаря пар ключ/значение, которое будет добавлено в запуск MLflow в качестве тегов. Пример:os.environ['MLFLOW_TAGS']='{"release.candidate": "RC1", "release.version": "2.2.0"}'. - MLFLOW_NESTED_RUN (
str, необязательный): Использовать ли вложенные запуски MLflow. Если установлено значениеTrueили 1, будет создан вложенный запуск внутри текущего. - MLFLOW_RUN_ID (
str, необязательный): Позволяет повторно подключиться к существующему запуску, что может быть полезно при возобновлении обучения из контрольной точки. Если переменная окруженияMLFLOW_RUN_IDзадана,start_runпытается возобновить запуск с указанным идентификатором, а остальные параметры игнорируются. - MLFLOW_FLATTEN_PARAMS (
str, необязательный, по умолчаниюFalse): Определяет, следует ли выровнять словарь параметров перед их записью в журнал. - MLFLOW_MAX_LOG_PARAMS (
int, необязательный): Устанавливает максимальное количество параметров, которые будут записаны в журнал выполнения.
Класс TrainerCallback, который отправляет логи в AzureML.
Класс TrainerCallback, отслеживающий выбросы CO2 в процессе обучения.
Класс TrainerCallback, который отправляет логи в ClearML.
Окружение:
- CLEARML_PROJECT (
str, необязательный, по умолчаниюHuggingFace Transformers): Имя проекта ClearML. - CLEARML_TASK (
str, необязательный, по умолчаниюTrainer): Имя задачи ClearML. - CLEARML_LOG_MODEL (
bool, необязательный, по умолчаниюFalse): Определяет, следует ли регистрировать модели в качестве артефактов во время обучения.
Класс TrainerCallback, который выполняет логирование в DagsHub. Наследует MLflowCallback
Настройте интеграцию с логированием DagsHub.
Окружение:
- HF_DAGSHUB_LOG_ARTIFACTS (
str, необязательный): Определяет, следует ли сохранять артефакты данных и модели для эксперимента. По умолчаниюFalse.
класс transformers.integrations.FlyteCallback
< source >( save_log_history: bool = Truesync_checkpoints: bool = True )
Параметры
- save_log_history (
bool, необязательный, по умолчаниюTrue) — Если установлено значение True, журналы обучения сохраняются в виде Flyte Deck. - sync_checkpoints (
bool, необязательный, по умолчаниюTrue) — Если установлено значение True, контрольные точки синхронизируются с Flyte и могут использоваться для возобновления обучения в случае прерывания.
Колбэк TrainerCallback, который отправляет логи в Flyte. Примечание: этот колбэк работает только внутри задачи Flyte.
Класс TrainerCallback, который сообщает о ходе обучения в Kubeflow Trainer.
Этот callback автоматически регистрируется при обучении внутри Kubeflow TrainJob с включённым feature gate TrainJobRuntimeStatus. Контроллер Kubeflow внедряет необходимые переменные окружения в pod обучения.
Переменные окружения (инжектируются контроллером):
KUBEFLOW_TRAINER_SERVER_URL: HTTPS-адрес для обновления статусаKUBEFLOW_TRAINER_SERVER_CA_CERT: Путь к сертификату CA для проверки TLSKUBEFLOW_TRAINER_SERVER_TOKEN: путь к токену учётной записи службы для аутентификации
Сообщенная информация:
- Процент выполнения (0–100%)
- Ожидаемое оставшееся время (в секундах)
- Метрики обучения (loss, learning_rate и т. д.)
Возможности:
- Автоматическое ограничение частоты (не более 1 обновления за 5 секунд) для предотвращения перегрузки контроллера
- Кэширование токенов (5 минут) для минимизации ввода-вывода файлов
- Только ранг 0 сообщает о ходе обучения в распределённом режиме
- Тихие сбои — проблемы с сетью не прерывают обучение
Можно отключить, установив переменную окружения DISABLE_KUBEFLOW_INTEGRATION=TRUE.
класс transformers.integrations.DVCLiveCallback
< source >( live: typing.Any | None = Nonelog_model: typing.Union[typing.Literal['all'], bool, NoneType] = None**kwargs )
Параметры
- live (
dvclive.Live, необязательный, по умолчаниюNone) — Необязательный экземпляр Live. Если значение равно None, будет создан новый экземпляр с использованием **kwargs. - log_model (Union[Literal[“all”], bool], необязательный, по умолчанию
None) — Определяет, следует ли использоватьdvclive.Live.log_artifact()для записи контрольных точек, создаваемых Trainer. Если установлено значениеTrue, то итоговая контрольная точка записывается в конце обучения. Если установлено значение"all", то весьoutput_dirиз TrainingArguments записывается при каждой контрольной точке.
Класс TrainerCallback, который отправляет логи в DVCLive.
Используйте перечисленные ниже переменные окружения в setup для настройки интеграции. Чтобы настроить этот callback с возможностью, выходящей за рамки этих переменных окружения, см. здесь.
Настройте необязательную интеграцию DVCLive. Чтобы настроить этот callback в деталях, выходящих за рамки перечисленных ниже переменных окружения, см. здесь.
Окружение:
- HF_DVCLIVE_LOG_MODEL (
str, необязательный): Определяет, следует ли использоватьdvclive.Live.log_artifact()для записи контрольных точек, создаваемых Trainer. Если установлено значениеTrueили 1, итоговая контрольная точка записывается в конце обучения. Если установлено значениеall, на каждой контрольной точке записывается весьoutput_dirобъекта TrainingArguments.
Класс TrainerCallback, который записывает метрики, медиафайлы и контрольные точки модели в SwanLab.
Настройте необязательную интеграцию SwanLab (swanlab).
Можно создать подкласс и переопределить этот метод, чтобы настроить процесс при необходимости. Подробнее — здесь.
Вы также можете переопределить следующие переменные окружения. Дополнительную информацию о переменных окружения можно найти здесь
Окружение:
SWANLAB_API_KEY (
str, необязательный, по умолчаниюNone): Ключ облачного API. При входе в систему эта переменная окружения проверяется в первую очередь. Если она не существует, система проверяет, выполнен ли уже вход пользователя. Если нет, инициируется процесс входа.- Если в интерфейс входа передаётся строка, эта переменная окружения игнорируется.
- Если пользователь уже вошёл в систему, эта переменная окружения имеет приоритет над локально сохранёнными данными для входа.
SWANLAB_PROJECT (
str, необязательный, по умолчаниюNone): Укажите здесь собственную строку, чтобы сохранять результаты в другом проекте. Если значение не задано, используется имя текущей рабочей директории.SWANLAB_LOG_DIR (
str, необязательный, по умолчаниюswanlog): Эта переменная окружения задаёт путь для хранения файлов журнала при работе в локальном режиме. По умолчанию журналы сохраняются в папке swanlog в рабочей директории.SWANLAB_MODE (
Literal["local", "cloud", "disabled"], необязательный, по умолчаниюcloud): Режим парсинга SwanLab, который включает в себя колбэки, зарегистрированные оператором. В настоящее время доступны три режима: local, cloud и disabled. Примечание: Регистр символов имеет значение. Дополнительную информацию можно найти здесьSWANLAB_LOG_MODEL (
str, необязательный, по умолчаниюNone): SwanLab в настоящее время не поддерживает функциональность режима сохранения. Эта функция станет доступна в одном из будущих выпусковSWANLAB_WEB_HOST (
str, необязательный, по умолчаниюNone): Веб-адрес облачной среды SwanLab для частной версии (она бесплатна)SWANLAB_API_HOST (
str, необязательный, по умолчаниюNone): Адрес API облачной среды SwanLab для частной версии (она бесплатна)SWANLAB_RUN_ID (
str, необязательный, по умолчаниюNone): Идентификатор эксперимента для возобновления предыдущего запуска. Используйте вместе сSWANLAB_RESUME, чтобы продолжить существующий эксперимент.SWANLAB_RESUME (
str, необязательный, по умолчаниюNone): Режим возобновления ("must","allow","never"). По умолчанию"allow", если используетсяresume_from_checkpoint.
TrainerCallback
класс transformers.TrainerCallback
< source >( )
Параметры
- args (TrainingArguments) — Аргументы обучения, используемые для создания экземпляра Trainer.
- state (TrainerState) — Текущее состояние Trainer.
- control (TrainerControl) — Объект, который возвращается в Trainer и может использоваться для принятия некоторых решений.
- model (PreTrainedModel или
torch.nn.Module) — Модель, которая обучается. - processing_class ([
PreTrainedTokenizerилиBaseImageProcessorилиProcessorMixinилиFeatureExtractionMixin]) — Класс обработки, используемый для кодирования данных. Может быть токенизатором, процессором, процессором изображений или экстрактором признаков. - optimizer (
torch.optim.Optimizer) — Оптимизатор, используемый для шагов обучения. - lr_scheduler (
torch.optim.lr_scheduler.LambdaLR) — планировщик, используемый для установки скорости обучения. - train_dataloader (
torch.utils.data.DataLoader, необязательный) — Текущий dataloader, используемый для обучения. - eval_dataloader (
torch.utils.data.DataLoader, необязательный) — Текущий загрузчик данных, используемый для оценки. - metrics (
dict[str, float]) — Метрики, вычисленные на последнем этапе оценки.Они доступны только в событии
on_evaluate. - logs (
dict[str, float]) — Значения для записи в журнал.Они доступны только в событии
on_log.
Класс для объектов, которые будут проверять состояние цикла обучения в определённых событиях и принимать некоторые решения. В каждом из этих событий доступны следующие аргументы:
Объект control — единственный, который может быть изменён колбэком, при этом событие, изменяющее его, должно возвращать изменённую версию.
Аргументы args, state и control являются позиционными для всех событий, все остальные сгруппированы в kwargs.
Вы можете распаковать необходимые вам аргументы в сигнатуре события, используя их. В качестве примера см. код простого PrinterCallback.
Пример:
class PrinterCallback(TrainerCallback):
def on_log(self, args, state, control, logs=None, **kwargs):
_ = logs.pop("total_flos", None)
if state.is_local_process_zero:
print(logs)on_epoch_begin
< source >( args: TrainingArgumentsstate: TrainerStatecontrol: TrainerControl**kwargs )
Событие, вызываемое в начале эпохи.
on_epoch_end
< source >( args: TrainingArgumentsstate: TrainerStatecontrol: TrainerControl**kwargs )
Событие, вызываемое в конце эпохи.
on_evaluate
< source >( args: TrainingArgumentsstate: TrainerStatecontrol: TrainerControl**kwargs )
Событие, вызываемое после фазы оценки.
on_init_end
< source >( args: TrainingArgumentsstate: TrainerStatecontrol: TrainerControl**kwargs )
Событие, вызываемое в конце инициализации Trainer.
Событие, вызываемое после записи последних логов.
on_optimizer_step
< source >( args: TrainingArgumentsstate: TrainerStatecontrol: TrainerControl**kwargs )
Событие, вызываемое после шага оптимизатора, но до обнуления градиентов. Полезно для мониторинга градиентов.
on_pre_optimizer_step
< source >( args: TrainingArgumentsstate: TrainerStatecontrol: TrainerControl**kwargs )
Событие, вызываемое перед шагом оптимизатора, но после обрезки градиентов. Полезно для мониторинга градиентов.
on_predict
< source >( args: TrainingArgumentsstate: TrainerStatecontrol: TrainerControlmetrics**kwargs )
Событие, вызываемое после успешного предсказания.
on_prediction_step
< source >( args: TrainingArgumentsstate: TrainerStatecontrol: TrainerControl**kwargs )
Событие, вызываемое после шага предсказания.
on_push_begin
< source >( args: TrainingArgumentsstate: TrainerStatecontrol: TrainerControl**kwargs )
Event called before pushing the model to the hub, at the beginning of Trainer.push_to_hub and Trainer._push_from_checkpoint.
Событие, вызываемое после сохранения контрольной точки.
on_step_begin
< source >( args: TrainingArgumentsstate: TrainerStatecontrol: TrainerControl**kwargs )
Событие, вызываемое в начале шага обучения. При использовании накопления градиентов один шаг обучения может включать несколько входных данных.
on_step_end
< source >( args: TrainingArgumentsstate: TrainerStatecontrol: TrainerControl**kwargs )
Событие, вызываемое в конце шага обучения. При использовании накопления градиентов один шаг обучения может включать несколько входных данных.
on_substep_end
< source >( args: TrainingArgumentsstate: TrainerStatecontrol: TrainerControl**kwargs )
Событие, вызываемое в конце подшага во время накопления градиентов.
on_train_begin
< source >( args: TrainingArgumentsstate: TrainerStatecontrol: TrainerControl**kwargs )
Событие, вызываемое в начале обучения.
on_train_end
< source >( args: TrainingArgumentsstate: TrainerStatecontrol: TrainerControl**kwargs )
Событие, вызываемое в конце обучения.
Ниже приведен пример регистрации пользовательского обратного вызова с Trainer PyTorch:
class MyCallback(TrainerCallback):
"A callback that prints a message at the beginning of training"
def on_train_begin(self, args, state, control, **kwargs):
print("Starting training")
trainer = Trainer(
model,
args,
train_dataset=train_dataset,
eval_dataset=eval_dataset,
callbacks=[MyCallback], # We can either pass the callback class this way or an instance of it (MyCallback())
)Ещё один способ зарегистрировать колбэк — вызвать trainer.add_callback() следующим образом:
trainer = Trainer(...)
trainer.add_callback(MyCallback)
# Alternatively, we can pass an instance of the callback class
trainer.add_callback(MyCallback())TrainerState
класс transformers.TrainerState
< source >( epoch: float = 0global_step: int = 0max_steps: int = 0logging_steps: int = 500eval_steps: int = 500save_steps: int = 500train_batch_size: int | None = Nonenum_train_epochs: int = 0num_input_tokens_seen: int = 0total_flos: float = 0log_history: list = Nonebest_metric: float | None = Nonebest_global_step: int | None = Nonebest_model_checkpoint: str | None = Noneis_local_process_zero: bool = Trueis_world_process_zero: bool = Trueis_hyper_param_search: bool = Falsetrial_name: str | None = Nonetrial_params: dict[str, str | float | int | bool] | None = Nonestateful_callbacks: list['TrainerCallback'] | None = None )
Параметры
- epoch (
float, необязательный) — Устанавливается только во время обучения и указывает текущую эпоху (дробная часть показывает процент завершённой текущей эпохи). - global_step (
int, необязательный, по умолчанию 0) — В процессе обучения представляет собой количество выполненных шагов обновления. - max_steps (
int, необязательный, по умолчанию 0) — Количество шагов обновления, выполняемых в ходе текущей тренировки. - logging_steps (
int, необязательный, по умолчанию 500) — Выводить журнал каждые X шагов обновления - eval_steps (
int, необязательный) — Выполнять оценку каждые X шагов. - save_steps (
int, необязательный, по умолчанию 500) — Сохранять контрольную точку каждые X шагов обновления. - train_batch_size (
int, необязательный) — Размер батча для загрузчика данных обучения. Требуется только в том случае, если использовалсяauto_find_batch_size. - num_input_tokens_seen (
int, необязательный, по умолчанию 0) — При отслеживании входных токенов — количество токенов, обработанных во время обучения (число входных токенов, а не число токенов предсказания). - total_flos (
float, необязательный, по умолчанию 0) — Общее количество операций с плавающей запятой, выполненных моделью с начала обучения (хранится в формате float, чтобы избежать переполнения). - log_history (
list[dict[str, float]], необязательный) — Список логов, сделанных с начала обучения. - best_metric (
float, необязательный) — При отслеживании лучшей модели — значение лучшей метрики, полученной на данный момент. - best_global_step (
int, необязательный) — Шаг, на котором было достигнуто лучшее значение метрики, при отслеживании лучшей модели. Используется для установкиbest_model_checkpoint. - best_model_checkpoint (
str, необязательный) — При отслеживании лучшей модели — значение имени контрольной точки для лучшей модели, найденной на данный момент. - is_local_process_zero (
bool, необязательный, по умолчаниюTrue) — Указывает, является ли данный процесс локальным (например, на одной машине при распределённом обучении на нескольких машинах) основным процессом. - is_world_process_zero (
bool, необязательный, по умолчаниюTrue) — Указывает, является ли этот процесс глобальным основным процессом (при распределенном обучении на нескольких машинах значениеTrueбудет только для одного процесса). - is_hyper_param_search (
bool, необязательный, по умолчаниюFalse) — Указывает, выполняется ли в данный момент поиск гиперпараметров с помощью Trainer.hyperparameter_search. Это влияет на способ записи данных в TensorBoard. - stateful_callbacks (
list[StatefulTrainerCallback], необязательный) — Обработчики событий, привязанные кTrainer, состояние которых должно сохраняться или восстанавливаться. Соответствующие обработчики событий должны реализовывать функцииstateиfrom_state.
Класс, содержащий внутреннее состояние Trainer, которое сохраняется вместе с моделью и оптимизатором при создании контрольной точки и передаётся в TrainerCallback.
Во всех классах данного раздела один шаг понимается как один шаг обновления. При использовании накопления градиентов один шаг обновления может требовать нескольких проходов вперёд и назад: если вы используете
gradient_accumulation_steps=n, то для одного шага обновления необходимо пройти n батчей.
Вычисляет и сохраняет абсолютное значение для шагов логирования, оценки и сохранения на основе того, было ли это значение долей или нет.
Сохраняет начальные опорные данные для обучения в self
Создайте экземпляр на основе содержимого json_path.
Сохраните содержимое этого экземпляра в формате JSON внутри json_path.
TrainerControl
класс transformers.TrainerControl
< source >( should_training_stop: bool = Falseshould_epoch_stop: bool = Falseshould_save: bool = Falseshould_evaluate: bool = Falseshould_log: bool = False )
Параметры
- should_training_stop (
bool, необязательный, по умолчаниюFalse) — Следует ли прервать обучение.Если
True, эта переменная не будет сброшена вFalse. Обучение просто остановится. - should_epoch_stop (
bool, необязательный, по умолчаниюFalse) — Следует ли прервать текущую эпоху.Если
True, то в начале следующей эпохи значение этой переменной будет сброшено вFalse. - should_save (
bool, необязательный, по умолчаниюFalse) — Сохранять ли модель на этом шаге.Если
True, то в начале следующего шага эта переменная будет сброшена вFalse. - should_evaluate (
bool, необязательный, по умолчаниюFalse) — Следует ли оценивать модель на этом шаге.Если
True, то в начале следующего шага эта переменная будет сброшена вFalse. - should_log (
bool, необязательный, по умолчаниюFalse) — Следует ли выводить логи на этом шаге.Если
True, то в начале следующего шага эта переменная будет сброшена вFalse.
Класс, управляющий потоком выполнения Trainer. Этот класс используется TrainerCallback для активации некоторых переключателей в цикле обучения.