| <!--Copyright 2020 The HuggingFace Team. All rights reserved. | |
| Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with | |
| the License. You may obtain a copy of the License at | |
| http://www.apache.org/licenses/LICENSE-2.0 | |
| Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on | |
| an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the | |
| specific language governing permissions and limitations under the License. | |
| β οΈ Note that this file is in Markdown but contain specific syntax for our doc-builder (similar to MDX) that may not be | |
| rendered properly in your Markdown viewer. | |
| --> | |
| # λ‘κΉ [[logging]] | |
| π€ νΈλμ€ν¬λ¨Έλ μ€μ μ§μ€μ λ‘κΉ μμ€ν μ μ 곡νμ¬ λΌμ΄λΈλ¬λ¦¬μ μΆλ ₯ λ 벨μ μ½κ² μ€μ ν μ μμ΅λλ€. | |
| νμ¬ λΌμ΄λΈλ¬λ¦¬μ κΈ°λ³Έ μΆλ ₯ λ 벨μ `WARNING`μΌλ‘ μ€μ λμ΄ μμ΅λλ€. | |
| μΆλ ₯ λ 벨μ λ³κ²½νλ €λ©΄ μ§μ μ μΈ μ€μ λ©μλλ₯Ό μ¬μ©ν μ μμ΅λλ€. μλ₯Ό λ€μ΄, μΆλ ₯ λ 벨μ INFO μμ€μΌλ‘ λ³κ²½νλ λ°©λ²μ λ€μκ³Ό κ°μ΅λλ€. | |
| ```python | |
| import transformers | |
| transformers.logging.set_verbosity_info() | |
| ``` | |
| νκ²½ λ³μ `TRANSFORMERS_VERBOSITY`λ₯Ό μ¬μ©νμ¬ κΈ°λ³Έ μΆλ ₯ λ 벨μ μ¬μ μν μλ μμ΅λλ€. μ΄λ₯Ό `debug`, `info`, `warning`, `error`, `critical`, `fatal` μ€ νλλ‘ μ€μ ν μ μμ΅λλ€. μλ₯Ό λ€μ΄ λ€μκ³Ό κ°μ΅λλ€. | |
| ```bash | |
| TRANSFORMERS_VERBOSITY=error ./myprogram.py | |
| ``` | |
| λν, μΌλΆ `warnings`λ νκ²½ λ³μ `TRANSFORMERS_NO_ADVISORY_WARNINGS`λ₯Ό 1κ³Ό κ°μ true κ°μΌλ‘ μ€μ νμ¬ λΉνμ±νν μ μμ΅λλ€. μ΄λ κ² νλ©΄ [`logger.warning_advice`]λ₯Ό μ¬μ©νμ¬ κΈ°λ‘λ κ²½κ³ κ° λΉνμ±νλ©λλ€. μλ₯Ό λ€μ΄ λ€μκ³Ό κ°μ΅λλ€. | |
| ```bash | |
| TRANSFORMERS_NO_ADVISORY_WARNINGS=1 ./myprogram.py | |
| ``` | |
| λ€μμ λΌμ΄λΈλ¬λ¦¬μ λμΌν λ‘κ±°λ₯Ό μμ μ λͺ¨λμ΄λ μ€ν¬λ¦½νΈμμ μ¬μ©νλ λ°©λ²μ λν μμμ λλ€. | |
| ```python | |
| 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 | |