Transformers documentation

ログ出力

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

ログ出力

🤗 Transformersには中央集権型のログシステムが備わっており、ライブラリの冗長性を簡単に設定できます。

現在、このライブラリのデフォルトの冗長性レベルはWARNINGです。

冗長レベルを変更するには、直接セッターのいずれかを使用します。例えば、冗長レベルをINFOレベルに変更する方法は以下の通りです。

import transformers

transformers.logging.set_verbosity_info()

環境変数TRANSFORMERS_VERBOSITYを使用して、デフォルトの冗長性を上書きすることもできます。以下のいずれかに設定できます: debug、info、warning、error、critical、fatal。例:

TRANSFORMERS_VERBOSITY=error ./myprogram.py

また、環境変数 TRANSFORMERS_NO_ADVISORY_WARNINGS を 1 のような真の値に設定することで、一部の 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 value, 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には、併用されることが多い2つのログシステムがあります。上記で説明したloggingと、警告を特定のバケットに分類できるwarningsです。例えば、すでに非推奨となった機能やパスにはFutureWarningを、今後の非推奨化を示すにはDeprecationWarningを使用します。

transformers ライブラリでは、両方を使用しています。logging の captureWarnings メソッドを活用・調整し、上記の冗長度設定子によってこれらの警告メッセージを管理できるようにしています。

これはライブラリの開発者にとって何を意味するのでしょうか。以下のヒューリスティックを遵守すべきです。

  • 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

< >

( )

冗長レベルをERRORに設定します。

transformers.utils.logging.set_verbosity_warning

< >

( )

冗長レベルをWARNINGに設定します。

transformers.utils.logging.set_verbosity_info

< >

( )

冗長レベルをINFOに設定します。

transformers.utils.logging.set_verbosity_debug

< >

( )

冗長レベルを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 のすべてのロガーに対して明示的なフォーマットを有効にします。明示的なフォーマッタは以下の通りです。

    [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