Transformers documentation

Логирование

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