Transformers documentation

로깅

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

and get access to the augmented documentation experience

to get started

로깅

🤗 트랜스포머는 중앙 집중식 로깅 시스템을 제공하여 라이브러리의 출력 레벨을 쉽게 설정할 수 있습니다.

현재 라이브러리의 기본 출력 레벨은 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과 같은 true 값으로 설정하여 비활성화할 수 있습니다. 이렇게 하면 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 (정숫값, 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 vs warnings

Python에는 종종 함께 사용되는 두 가지 로깅 시스템이 있습니다. 위에서 설명한 loggingwarnings입니다. warnings는 특정 범주로 경고를 세분화할 수 있습니다. 예를 들어, 이미 더 이상 사용되지 않는 기능이나 경로에 대해 FutureWarning이 사용되고, 곧 사용 중단될 기능을 알리기 위해 DeprecationWarning이 사용됩니다.

트랜스포머 라이브러리에서는 두 시스템 모두를 사용합니다. loggingcaptureWarnings 메서드를 활용하고 이를 조정하여 위에서 설명한 출력 수준 설정자들을 통해 이러한 경고 메시지들을 관리할 수 있도록 합니다.

라이브러리 개발자는 다음과 같은 지침을 따르는 것이 좋습니다.

  • warnings는 라이브러리 개발자와 transformers에 의존하는 라이브러리 개발자들에게 유리합니다.
  • logging은 일반적인 프로젝트 라이브러리 개발자보다는, 라이브러리를 사용하는 최종 사용자들에게 유리할 것입니다.

아래에서 captureWarnings 메소드에 대한 참고 사항을 확인할 수 있습니다.

transformers.utils.logging.captureWarnings

< >

( capture )

Calls the captureWarnings method from the logging library to enable management of the warnings emitted by the warnings library.

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

All warnings will be logged through the py.warnings logger.

Careful: this method also adds a handler to this logger if it does not already have one, and updates the logging level of that logger to the library’s root logger.

기본 설정자

transformers.utils.logging.set_verbosity_error

< >

( )

Set the verbosity to the ERROR level.

transformers.utils.logging.set_verbosity_warning

< >

( )

Set the verbosity to the WARNING level.

transformers.utils.logging.set_verbosity_info

< >

( )

Set the verbosity to the INFO level.

transformers.utils.logging.set_verbosity_debug

< >

( )

Set the verbosity to the DEBUG level.

기타 함수

transformers.utils.logging.get_verbosity

< >

( ) int

Returns

int

The logging level.

Return the current level for the 🤗 Transformers’s root logger as an int.

🤗 Transformers has following logging levels:

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

transformers.utils.logging.set_verbosity

< >

( verbosity: int )

Parameters

  • verbosity (int) — Logging level, e.g., one of:

    • transformers.logging.CRITICAL or transformers.logging.FATAL
    • transformers.logging.ERROR
    • transformers.logging.WARNING or transformers.logging.WARN
    • transformers.logging.INFO
    • transformers.logging.DEBUG

Set the verbosity level for the 🤗 Transformers’s root logger.

transformers.utils.logging.get_logger

< >

( name: Optional = None )

Return a logger with the specified name.

This function is not supposed to be directly accessed unless you are writing a custom transformers module.

transformers.utils.logging.enable_default_handler

< >

( )

Enable the default handler of the HuggingFace Transformers’s root logger.

transformers.utils.logging.disable_default_handler

< >

( )

Disable the default handler of the HuggingFace Transformers’s root logger.

transformers.utils.logging.enable_explicit_format

< >

( )

Enable explicit formatting for every HuggingFace Transformers’s logger. The explicit formatter is as follows:

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

transformers.utils.logging.reset_format

< >

( )

Resets the formatting for HuggingFace Transformers’s loggers.

All handlers currently bound to the root logger are affected by this method.

transformers.utils.logging.enable_progress_bar

< >

( )

Enable tqdm progress bar.

transformers.utils.logging.disable_progress_bar

< >

( )

Disable tqdm progress bar.

< > Update on GitHub