Transformers documentation
Логирование
Логирование
🤗 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следует предпочитать разработчикам библиотеки и библиотек, зависящих отtransformersloggingследует использовать конечным пользователям библиотеки, применяющим её в повседневных проектах
См. справочную информацию по методу captureWarnings ниже.
Вызывает метод captureWarnings из библиотеки логирования для управления предупреждениями, выдаваемыми библиотекой warnings.
Read more about this method here: https://docs.python.org/3/library/logging.html#integration-with-the-warnings-module
Все предупреждения будут записываться в логгер py.warnings.
Внимание: этот метод также добавляет обработчик в этот логгер, если его еще нет, и обновляет уровень логирования этого логгера до уровня корневого логгера библиотеки.
Базовые сеттеры
Установите уровень детализации на ERROR.
Установите уровень детализации на WARNING.
Установите уровень детализации на INFO.
Установите уровень детализации на DEBUG.
Другие функции
transformers.utils.logging.get_verbosity
< source >( ) → 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
< source >( verbosity: int )
Установите уровень детализации для корневого логгера 🤗 Transformers.
Возвращает логгер с указанным именем.
Эта функция не предназначена для прямого обращения, если вы не пишете собственный модуль transformers.
Включите обработчик по умолчанию корневого логгера HuggingFace Transformers.
Отключите обработчик по умолчанию корневого логгера HuggingFace Transformers.
Сбрасывает форматирование для логгеров HuggingFace Transformers.
Все обработчики, в настоящее время привязанные к корневому логгеру, затрагиваются этим методом.
Включить индикатор прогресса tqdm.
Отключить индикатор прогресса tqdm.