Transformers documentation

バックボーン

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

バックボーン

バックボーンは、オブジェクト検出や画像分類などの上位のコンピュータビジョンタスクにおける特徴抽出に使用されるモデルです。Transformers は、事前学習済みモデルの重みから Transformers のバックボーンを初期化するための AutoBackbone クラスと、2 つのユーティリティクラスを提供しています:

  • BackboneMixin は、Transformers または timm からバックボーンを初期化することを可能にし、出力特徴量とインデックスを返す関数を含みます。
  • BackboneConfigMixin は、backbone の設定における出力特徴量とインデックスを設定します。

timmモデルは、TimmBackboneクラスとTimmBackboneConfigクラスによって読み込まれます。

Backbonesは、以下のモデルでサポートされています:

AutoBackbone

class transformers.AutoBackbone

< >

( *args**kwargs )

BackboneMixin

class transformers.BackboneMixin

< >

( *args**kwargs )

post_init

< >

( )

post_init をオーバーライドして、キャプチャ用フックを常にインストールするようにします。バックボーンは常に出力をキャプチャするためです。モジュールがすでにインスタンス化されている必要があるため、post_init でこれを行う必要があります。これにより、torch.compile による混乱を回避できます。最初のフックのインストールはグラフのブレイクを必要とする/作成するため、model = torch.compile(model...) のような外部からのユーザー呼び出しと競合する可能性があるためです。

BackboneConfigMixin

クラス transformers.BackboneConfigMixin

< >

( )

バックボーン設定におけるout_featuresおよびout_indices属性の処理をサポートするためのMixinです。

set_output_features_output_indices

< >

( out_features: list | Noneout_indices: list | None )

パラメータ

  • out_features (list[str]、省略可) — backbone が出力する特徴量の名称です。指定しない場合、デフォルトで config._out_features が使用されます。
  • out_indices (list[int] または tuple[int]、省略可) — バックボーンが出力する特徴量のインデックスです。指定しない場合、デフォルトで config._out_indices が使用されます。

出力インデックスと特徴量を新しい値に設定し、指定されたstage_namesと整合させます。 入力の一つが指定されていない場合、指定されたstage_namesに対応するout_featuresまたはout_indicesを特定します。

to_dict

< >

( )

このインスタンスをPythonの辞書にシリアライズします。PreTrainedConfigのデフォルトのto_dict()をオーバーライドし、out_featuresおよびout_indices属性を含めるようにします。

verify_out_features_out_indices

< >

( )

指定された stage_names に対して、out_indices と out_features が有効であることを確認します。

TimmBackbone

クラス transformers.TimmBackbone

< >

( config: TimmBackboneConfig**kwargs )

timm モデルをバックボーンとして使用するためのラッパークラスです。これにより、ライブラリ内の他のモデルと同一の API を保ちながら、timm モデルを相互に交換して使用できます。

TimmBackboneConfig

クラス transformers.TimmBackboneConfig

< >

( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Nonebackbone: str | None = Nonenum_channels: int = 3features_only: bool = True_out_indices: list[int] | None = Nonefreeze_batch_norm_2d: bool = Falseoutput_stride: int | None = None )

パラメータ

  • backbone (str, 省略可) — 読み込むtimmのチェックポイント。
  • num_channels (int、任意、デフォルトは3) — 入力チャネル数。
  • features_only (bool、任意、デフォルトは True) — features のみを出力するか、logits も出力するかどうかを指定します。
  • freeze_batch_norm_2d (bool、省略可、デフォルトはFalse) — 指定されたモジュールのすべてのBatchNorm2dおよびSyncBatchNormレイヤーをFrozenBatchNorm2dに変換します。
  • output_stride (int、省略可) — 入力特徴マップと出力特徴マップの空間解像度の比率です。

これは TimmBackbone の設定を保存するための設定クラスです。指定された引数に基づいて Timm Backbone モデルをインスタンス化し、モデルのアーキテクチャを定義するために使用されます。デフォルト値で設定をインスタンス化すると、 と同様の設定が得られます。

設定オブジェクトはPreTrainedConfigを継承し、モデルの出力を制御するために使用できます。詳細については、PreTrainedConfigのドキュメントを参照してください。

例:

>>> from transformers import TimmBackboneConfig, TimmBackbone

>>> # Initializing a timm backbone
>>> configuration = TimmBackboneConfig("resnet50")

>>> # Initializing a model from the configuration
>>> model = TimmBackbone(configuration)

>>> # Accessing the model configuration
>>> configuration = model.config
Update on GitHub