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.2).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

로깅

🤗 Transformers에는 중앙 집중식 로깅 시스템이 있어 라이브러리의 로그 수준을 쉽게 설정할 수 있습니다.

현재 라이브러리의 기본 verbosity는 WARNING입니다.

로그 출력 수준을 변경하려면 직접 설정자를 사용하면 됩니다. 예를 들어, 로그 출력 수준을 INFO 수준으로 변경하는 방법은 다음과 같습니다.

import transformers

transformers.logging.set_verbosity_info()

환경 변수 TRANSFORMERS_VERBOSITY를 사용하여 기본 verbosity를 덮어쓸 수도 있습니다. 다음 중 하나로 설정할 수 있습니다: debug, info, warning, error, critical, fatal. 예를 들어:

TRANSFORMERS_VERBOSITY=error ./myprogram.py

또한, 환경 변수 TRANSFORMERS_NO_ADVISORY_WARNINGS를 1과 같은 true 값으로 설정하면 일부 warnings를 비활성화할 수 있습니다. 이렇게 하면 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()입니다. (괄호 안의 int 값과 함께) 가장 덜 상세한 수준부터 가장 상세한 수준까지의 순서로, 해당 수준은 다음과 같습니다:

  • transformers.logging.CRITICAL 또는 transformers.logging.FATAL (int 값, 50): 가장 치명적인 오류만 보고합니다.
  • transformers.logging.ERROR (int 값, 40): 오류만 보고합니다.
  • transformers.logging.WARNING 또는 transformers.logging.WARN (int 값, 30): 오류와 경고만 보고합니다. 이는 라이브러리가 기본적으로 사용하는 레벨입니다.
  • transformers.logging.INFO (int 값, 20): 오류, 경고 및 기본 정보를 보고합니다.
  • transformers.logging.DEBUG (int 값, 10): 모든 정보를 보고합니다.

기본적으로 모델 다운로드 중 tqdm 진행 표시줄이 표시됩니다. logging.disable_progress_bar()와 logging.enable_progress_bar()를 사용하여 이 동작을 억제하거나 해제할 수 있습니다.

logging과 warnings

Python에는 함께 사용되는 두 가지 로깅 시스템이 있습니다. 위에서 설명한 logging과, warnings입니다. warnings는 경고를 특정 범주로 더 세분화하여 분류할 수 있게 해 주며, 예를 들어 이미 비추천(deprecated)된 기능이나 경로를 나타내는 FutureWarning와 향후 비추천 예정임을 알리는 DeprecationWarning 등이 있습니다.

transformers 라이브러리에서는 두 가지를 모두 사용합니다. logging의 captureWarnings 메서드를 활용하고 수정하여, 위의 verbosity 설정자를 통해 이러한 경고 메시지를 관리할 수 있도록 합니다.

라이브러리 개발자에게는 어떤 의미가 있을까요? 다음 휴리스틱을 준수해야 합니다:

  • 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

< >

( )

verbose 수준을 ERROR로 설정합니다.

transformers.utils.logging.set_verbosity_warning

< >

( )

verbosity를 WARNING 수준으로 설정합니다.

transformers.utils.logging.set_verbosity_info

< >

( )

verbose 수준을 INFO로 설정합니다.

transformers.utils.logging.set_verbosity_debug

< >

( )

verbose 수준을 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의 모든 logger에 대해 명시적 포맷팅을 활성화합니다. 명시적 포맷터는 다음과 같습니다:

    [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