Transformers documentation

Logging

You are viewing v4.38.0 version. A newer version v4.46.2 is available.
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Logging

🤗 Transformersには、ライブラリの詳細度を簡単に設定できる中央集中型のロギングシステムがあります。

現在、ライブラリのデフォルトの詳細度は「WARNING」です。

詳細度を変更するには、直接設定メソッドの1つを使用するだけです。例えば、詳細度をINFOレベルに変更する方法は以下の通りです。

import transformers

transformers.logging.set_verbosity_info()

環境変数 TRANSFORMERS_VERBOSITY を使用して、デフォルトの冗長性をオーバーライドすることもできます。設定できます debuginfowarningerrorcritical のいずれかに変更します。例えば:

TRANSFORMERS_VERBOSITY=error ./myprogram.py

さらに、一部の「警告」は環境変数を設定することで無効にできます。 TRANSFORMERS_NO_ADVISORY_WARNINGS1 などの 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() を使用して、冗長性を選択したレベルに設定します。順番に(少ないものから) 冗長から最も冗長まで)、それらのレベル (括弧内は対応する 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 vs warnings

Python には、よく組み合わせて使用​​される 2 つのロギング システムがあります。上で説明した loggingwarnings です。 これにより、特定のバケット内の警告をさらに分類できます (例: 機能またはパスのFutureWarning) これはすでに非推奨になっており、DeprecationWarningは今後の非推奨を示します。

両方ともtransformersライブラリで使用します。 loggingcaptureWarningメソッドを活用して適応させて、 これらの警告メッセージは、上記の冗長設定ツールによって管理されます。

それはライブラリの開発者にとって何を意味しますか?次のヒューリスティックを尊重する必要があります。

  • 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.

Base setters

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.

Other functions

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.