λ‘κΉ [[logging]]
π€ νΈλμ€ν¬λ¨Έλ μ€μ μ§μ€μ λ‘κΉ μμ€ν μ μ 곡νμ¬ λΌμ΄λΈλ¬λ¦¬μ μΆλ ₯ λ 벨μ μ½κ² μ€μ ν μ μμ΅λλ€.
νμ¬ λΌμ΄λΈλ¬λ¦¬μ κΈ°λ³Έ μΆλ ₯ λ 벨μ 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[[transformers.utils.logging.captureWarnings]]
Pythonμλ μ’
μ’
ν¨κ» μ¬μ©λλ λ κ°μ§ λ‘κΉ
μμ€ν
μ΄ μμ΅λλ€. μμμ μ€λͺ
ν loggingκ³Ό warningsμ
λλ€. warningsλ νΉμ λ²μ£Όλ‘ κ²½κ³ λ₯Ό μΈλΆνν μ μμ΅λλ€. μλ₯Ό λ€μ΄, μ΄λ―Έ λ μ΄μ μ¬μ©λμ§ μλ κΈ°λ₯μ΄λ κ²½λ‘μ λν΄ FutureWarningμ΄ μ¬μ©λκ³ , κ³§ μ¬μ© μ€λ¨λ κΈ°λ₯μ μ리기 μν΄ DeprecationWarningμ΄ μ¬μ©λ©λλ€.
νΈλμ€ν¬λ¨Έ λΌμ΄λΈλ¬λ¦¬μμλ λ μμ€ν
λͺ¨λλ₯Ό μ¬μ©ν©λλ€. loggingμ captureWarnings λ©μλλ₯Ό νμ©νκ³ μ΄λ₯Ό μ‘°μ νμ¬ μμμ μ€λͺ
ν μΆλ ₯ μμ€ μ€μ μλ€μ ν΅ν΄ μ΄λ¬ν κ²½κ³ λ©μμ§λ€μ κ΄λ¦¬ν μ μλλ‘ ν©λλ€.
λΌμ΄λΈλ¬λ¦¬ κ°λ°μλ λ€μκ³Ό κ°μ μ§μΉ¨μ λ°λ₯΄λ κ²μ΄ μ’μ΅λλ€.
warningsλ λΌμ΄λΈλ¬λ¦¬ κ°λ°μμtransformersμ μμ‘΄νλ λΌμ΄λΈλ¬λ¦¬ κ°λ°μλ€μκ² μ 리ν©λλ€.loggingμ μΌλ°μ μΈ νλ‘μ νΈ λΌμ΄λΈλ¬λ¦¬ κ°λ°μ보λ€λ, λΌμ΄λΈλ¬λ¦¬λ₯Ό μ¬μ©νλ μ΅μ’ μ¬μ©μλ€μκ² μ 리ν κ²μ λλ€.
μλμμ captureWarnings λ©μλμ λν μ°Έκ³ μ¬νμ νμΈν μ μμ΅λλ€.
[[autodoc]] logging.captureWarnings
κΈ°λ³Έ μ€μ μ [[transformers.utils.logging.set_verbosity_error]]
[[autodoc]] logging.set_verbosity_error
[[autodoc]] logging.set_verbosity_warning
[[autodoc]] logging.set_verbosity_info
[[autodoc]] logging.set_verbosity_debug
κΈ°ν ν¨μ [[transformers.utils.logging.get_verbosity]]
[[autodoc]] logging.get_verbosity
[[autodoc]] logging.set_verbosity
[[autodoc]] logging.get_logger
[[autodoc]] logging.enable_default_handler
[[autodoc]] logging.disable_default_handler
[[autodoc]] logging.enable_explicit_format
[[autodoc]] logging.reset_format
[[autodoc]] logging.enable_progress_bar
[[autodoc]] logging.disable_progress_bar