Transformers documentation
PPLCNetV4
このモデルは2026年5月19日に Hugging Face Transformers に貢献されました。
PPLCNetV4
PPLCNetV4 は、バックボーンネットワークとしてのみ提供されています。事前学習済みの画像分類チェックポイントは、公式にはリリースされていません。
PPLCNetV4Config
class transformers.PPLCNetV4Config
< source >( 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 = Nonescale: float | int = 1.0block_configs: list | None = Nonestem_channels: list[int] | tuple[int, ...] = (3, 48, 96)reduction: int = 4hidden_act: str = 'relu'_out_features: list[str] | None = None_out_indices: list[int] | None = Nonenum_channels: int = 3stem_strides: Sequence = (2, 1, 1, 2, 1)stem_type: str = 'large'use_learnable_affine_block: bool = False )
パラメータ
- scale (
float、任意、デフォルトは 1.0) — モデルのチャネル次元に対するスケーリング係数です。全体のアーキテクチャを変更せずに、モデルサイズと計算コストを調整するために使用されます(例: 0.25、0.5、1.0、1.5)。 - block_configs (
list[list[tuple]]、任意、デフォルトはNone) — 各ステージの各ブロックの設定です。各タプルには、(kernel_size, in_channels, out_channels, stride, use_squeeze_excitation) が含まれます。Noneの場合、デフォルトの PP-LCNet 設定が使用されます。 - stem_channels (
list[int], 省略可, デフォルトは[3, 48, 96]) — stem 層のチャネル次元:- 最初の数値(3)は入力画像のチャネル数です
- 2番目の数値(48)は中間ステムのチャネル数です
- 3番目の数値(96)は出力ステムのチャネル数です
- reduction (
int、任意、デフォルトは 4) — squeeze-and-excitation (SE) ブロックにおける特徴チャネル次元の縮小係数です。特徴の表現力を維持しつつ、モデルのパラメータ数と計算複雑度を低減するために使用されます。 - hidden_act (
str、任意、デフォルトはrelu) — デコーダーで使用する非線形活性化関数(関数または文字列)。例えば、"gelu"、"relu"、"silu"など。 - num_channels (
int、任意、デフォルトは3) — 入力チャネル数。 - stem_strides (
Sequence[int | list[int] | tuple[int, ...]]、任意、デフォルトは(2, 1, 1, 2, 1)) — stem 層のストライドパターンです。 - stem_type (
str, 省略可, デフォルトはlarge) — 使用する stem レイヤーの種類。次のいずれかです:"large": 標準の PP-LCNetV4 ステム。"small": チャネル次元が小さいバリアント。
- use_learnable_affine_block (
bool、任意、デフォルトはFalse) — ネットワーク内で Learnable Affine Blocks (LAB) を使用するかどうかを指定します。 LAB は、特定の操作の後に学習可能なスケールとバイアスのパラメータを追加します。
これは、Pp Lcnet V4Model の設定を保存するための設定クラスです。指定された引数に基づいて Pp Lcnet V4 モデルをインスタンス化し、モデルのアーキテクチャを定義するために使用されます。デフォルト値で設定をインスタンス化すると、PaddlePaddle/Not_yet_released と同様の設定が得られます。
設定オブジェクトはPreTrainedConfigを継承し、モデルの出力を制御するために使用できます。詳細については、PreTrainedConfigのドキュメントを参照してください。
PPLCNetV4Backbone
class transformers.PPLCNetV4Backbone
< source >( config: PPLCNetV4Config )
パラメータ
- config (PPLCNetV4Config) — モデルのパラメータをすべて含むモデル設定クラスです。設定ファイルで初期化しても、モデルに関連する重みは読み込まれず、設定のみが読み込まれます。モデルの重みをロードするには、from_pretrained() メソッドを参照してください。
特徴量抽出用のPPLCNetV4バックボーンモデル。
このモデルは PreTrainedModel を継承しています。すべてのモデルに実装されている汎用的なメソッド(ダウンロードや保存、入力埋め込みのリサイズ、ヘッドのプルーニングなど)については、スーパークラスのドキュメントを参照してください。
このモデルは、PyTorchのtorch.nn.Moduleのサブクラスでもあります。 通常のPyTorch Moduleとして使用し、一般的な使用方法や動作に関する詳細については、PyTorchのドキュメントを参照してください。
forward
< source >( pixel_values: Tensor**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → BackboneOutput or tuple(torch.FloatTensor)
パラメータ
- pixel_values (
torch.Tensor、形状(batch_size, num_channels, image_size, image_size)) — 入力画像に対応するテンソルです。ピクセル値はimage_processor_classを使用して取得できます。詳細はimage_processor_class.__call__を参照してください(processor_classは画像の処理にimage_processor_classを使用します)。
戻り値
BackboneOutput または tuple(torch.FloatTensor)
BackboneOutput、またはtorch.FloatTensorのタプル(return_dict=Falseが渡された場合、またはconfig.return_dict=Falseの場合)。設定(PPLCNetV4Config)と入力に応じて、さまざまな要素で構成されます。
PPLCNetV4Backboneのforwardメソッドは、__call__特殊メソッドをオーバーライドします。
この関数内でフォワードパスの手順を定義する必要がありますが、その後、この関数ではなく
Moduleインスタンスを呼び出すべきです。前者は前処理と後処理の実行を適切に処理するのに対し、後者はそれらを黙って無視するためです。
feature_maps (
tuple(torch.FloatTensor)、形状(batch_size, num_channels, height, width)) — 各ステージのフィーチャマップ。hidden_states (
tuple(torch.FloatTensor)、任意、output_hidden_states=Trueが渡された場合またはconfig.output_hidden_states=Trueの場合に返されます)—torch.FloatTensorのタプル(埋め込みの出力用 1 つ + 各層の出力用 1 つ)。形状は(batch_size, sequence_length, hidden_size)または(batch_size, num_channels, height, width)で、バックボーンによって異なります。各ステージの出力におけるモデルのHidden-states、および初期の埋め込み出力。
attentions (
tuple(torch.FloatTensor)、optional、output_attentions=Trueが渡された場合またはconfig.output_attentions=Trueの場合に返される) —torch.FloatTensorのタプル(レイヤーごとに1つ)、形状は(batch_size, num_heads, sequence_length, sequence_length)。バックボーンがアテンションを使用する場合にのみ適用されます。アテンションのsoftmax後のアテンション重み。自己アテンションヘッド内で加重平均を計算するために使用されます。
例:
>>> from transformers import PPLCNetV4Config, PPLCNetV4Backbone
>>> import torch
>>> config = PPLCNetV4Config()
>>> model = PPLCNetV4Backbone(config)
>>> pixel_values = torch.randn(1, 3, 224, 224)
>>> with torch.no_grad():
... outputs = model(pixel_values)
>>> feature_maps = outputs.feature_maps
>>> list(feature_maps[-1].shape)