Transformers documentation

Логирование

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

and get access to the augmented documentation experience

to get started

Логирование

🤗 Transformers имеет централизованную систему журналирования, что позволяет легко настроить уровень детализации библиотеки.

В настоящее время уровень детализации библиотеки по умолчанию составляет WARNING.

Чтобы изменить уровень детализации, используйте один из прямых сеттеров. Например, вот как изменить уровень детализации на INFO.

import transformers

transformers.logging.set_verbosity_info()

Вы также можете использовать переменную окружения TRANSFORMERS_VERBOSITY, чтобы переопределить уровень детализации по умолчанию. Вы можете установить одно из следующих значений: debug, info, warning, error, critical, fatal. Например:

TRANSFORMERS_VERBOSITY=error ./myprogram.py

Кроме того, некоторые warnings можно отключить, установив переменную окружения TRANSFORMERS_NO_ADVISORY_WARNINGS в истинное значение, например 1. Это отключит все предупреждения, записываемые с помощью logger.warning_advice. Например:

TRANSFORMERS_NO_ADVISORY_WARNINGS=1 ./myprogram.py

Вот пример того, как использовать тот же логгер, что и библиотека, в собственном модуле или скрипте:

from transformers.utils import logging

logging.set_verbosity_info()
logger = logging.get_logger("transformers")
logger.info("INFO")
logger.warning("WARN")

Все методы этого модуля журналирования описаны ниже. Основные из них — logging.get_verbosity() для получения текущего уровня детализации в логгере и logging.set_verbosity() для установки уровня детализации по вашему выбору. В порядке от наименее детализированного к наиболее детализированному эти уровни (с соответствующими целочисленными значениями в скобках) следующие:

  • transformers.logging.CRITICAL или transformers.logging.FATAL (целое значение, 50): сообщать только о наиболее критических ошибках.
  • transformers.logging.ERROR (int value, 40): сообщать только об ошибках.
  • transformers.logging.WARNING или transformers.logging.WARN (целое значение, 30): сообщает только об ошибках и предупреждениях. Это уровень по умолчанию, используемый библиотекой.
  • transformers.logging.INFO (целое значение, 20): сообщает об ошибках, предупреждениях и базовой информации.
  • transformers.logging.DEBUG (целое значение, 10): выводить всю информацию.

По умолчанию во время загрузки модели отображаются индикаторы прогресса tqdm. Функции logging.disable_progress_bar() и logging.enable_progress_bar() позволяют отключить или включить это поведение.

logging и warnings

В Python есть две системы журналирования, которые часто используются вместе: logging, описанная выше, и warnings, которая позволяет дополнительно классифицировать предупреждения по конкретным категориям, например, FutureWarning для функции или пути, которые уже устарели, и DeprecationWarning для указания на предстоящее устаревание.

Мы используем оба в библиотеке transformers. Мы используем и адаптируем метод captureWarnings модуля logging, чтобы позволить управлять этими предупреждающими сообщениями с помощью описанных выше установщиков уровня детализации.

Что это значит для разработчиков библиотеки? Мы должны соблюдать следующие эвристики:

  • warnings следует предпочитать разработчикам библиотеки и библиотек, зависящих от transformers
  • logging следует использовать конечным пользователям библиотеки, применяющим её в повседневных проектах

См. справочную информацию по методу captureWarnings ниже.

transformers.utils.logging.captureWarnings

< >

( capture )

Вызывает метод captureWarnings из библиотеки логирования для управления предупреждениями, выдаваемыми библиотекой warnings.

Read more about this method here: https://docs.python.org/3/library/logging.html#integration-with-the-warnings-module

Все предупреждения будут записываться в логгер py.warnings.

Внимание: этот метод также добавляет обработчик в этот логгер, если его еще нет, и обновляет уровень логирования этого логгера до уровня корневого логгера библиотеки.

Базовые сеттеры

transformers.utils.logging.set_verbosity_error

< >

( )

Установите уровень детализации на ERROR.

transformers.utils.logging.set_verbosity_warning

< >

( )

Установите уровень детализации на WARNING.

transformers.utils.logging.set_verbosity_info

< >

( )

Установите уровень детализации на INFO.

transformers.utils.logging.set_verbosity_debug

< >

( )

Установите уровень детализации на DEBUG.

Другие функции

transformers.utils.logging.get_verbosity

< >

( ) → int

Возвращает

int

Уровень ведения журнала.

Возвращает текущий уровень корневого логгера 🤗 Transformers в виде int.

🤗 Transformers поддерживает следующие уровни журналирования:

  • 50: transformers.logging.CRITICAL или transformers.logging.FATAL
  • 40: transformers.logging.ERROR
  • 30: transformers.logging.WARNING или transformers.logging.WARN
  • 20: transformers.logging.INFO
  • 10: transformers.logging.DEBUG

transformers.utils.logging.set_verbosity

< >

( verbosity: int )

Параметры

  • verbosity (int) — Уровень ведения журнала, например, один из:
    • transformers.logging.CRITICAL или transformers.logging.FATAL
    • transformers.logging.ERROR
    • transformers.logging.WARNING или transformers.logging.WARN
    • transformers.logging.INFO
    • transformers.logging.DEBUG

Установите уровень детализации для корневого логгера 🤗 Transformers.

transformers.utils.logging.get_logger

< >

( name: str | None = None )

Возвращает логгер с указанным именем.

Эта функция не предназначена для прямого обращения, если вы не пишете собственный модуль transformers.

transformers.utils.logging.enable_default_handler

< >

( )

Включите обработчик по умолчанию корневого логгера HuggingFace Transformers.

transformers.utils.logging.disable_default_handler

< >

( )

Отключите обработчик по умолчанию корневого логгера HuggingFace Transformers.

transformers.utils.logging.enable_explicit_format

< >

( )

Включите явное форматирование для каждого логгера HuggingFace Transformers. Явный форматтер выглядит следующим образом:

    [LEVELNAME|FILENAME|LINE NUMBER] TIME >> MESSAGE
All handlers currently bound to the root logger are affected by this method.

transformers.utils.logging.reset_format

< >

( )

Сбрасывает форматирование для логгеров HuggingFace Transformers.

Все обработчики, в настоящее время привязанные к корневому логгеру, затрагиваются этим методом.

transformers.utils.logging.enable_progress_bar

< >

( )

Включить индикатор прогресса tqdm.

transformers.utils.logging.disable_progress_bar

< >

( )

Отключить индикатор прогресса tqdm.

Update on GitHub