Transformers documentation

PP-DocLayoutV2

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v5.22.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

このモデルは2026年2月27日に Hugging Face Transformers に貢献されました。

PP-DocLayoutV2

概要

PP-DocLayoutV2は、レイアウト解析に特化した軽量モデルであり、要素の検出、分類、および読み取り順序の予測に焦点を当てています。

モデルアーキテクチャ

PP-DocLayoutV2 は、直列に接続された2つのネットワークで構成されています。最初のネットワークは、レイアウト要素の検出と分類を行う、RT-DETR ベースの検出モデルです。検出されたバウンディングボックスとクラスラベルは、次にこれらのレイアウト要素の順序付けを担当するポインターネットワークに渡されます。

使用方法

単一入力推論

以下の例では、PipelineまたはAutoModelを使用してPP-DocLayoutV2でテキストを生成する方法を示しています。

パイプライン
AutoModel
import requests
from PIL import Image

from transformers import pipeline


image = Image.open(requests.get("https://huggingface.co/datasets/hf-internal-testing/transformers-synthetic-assets/resolve/main/images/paddle_layout_demo.jpg", stream=True).raw)
layout_detector = pipeline("object-detection", model="PaddlePaddle/PP-DocLayoutV2_safetensors")
result = layout_detector(image)
print(result)

バッチ推論

PipelineまたはAutoModelを使用して、PP-DocLayoutV2でこれを行う方法を示します。

パイプライン
AutoModel
import requests
from PIL import Image

from transformers import pipeline


image = Image.open(requests.get("https://huggingface.co/datasets/hf-internal-testing/transformers-synthetic-assets/resolve/main/images/paddle_layout_demo.jpg", stream=True).raw)
layout_detector = pipeline("object-detection", model="PaddlePaddle/PP-DocLayoutV2_safetensors")
result = layout_detector([image, image])
print(result[0])
print(result[1])

PPDocLayoutV2Config

クラス transformers.PPDocLayoutV2Config

< >

( 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 = 0id2label: 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 = Noneis_encoder_decoder: bool = Trueinitializer_range: float = 0.01initializer_bias_prior_prob: float | None = Nonelayer_norm_eps: float = 1e-05batch_norm_eps: float = 1e-05backbone_config: transformers.configuration_utils.PreTrainedConfig | dict | None = Nonefreeze_backbone_batch_norms: bool = Trueencoder_hidden_dim: int = 256encoder_in_channels: list[int] | tuple[int, ...] | None = (512, 1024, 2048)feat_strides: list[int] | tuple[int, ...] | None = (8, 16, 32)encoder_layers: int = 1encoder_ffn_dim: int = 1024encoder_attention_heads: int = 8dropout: float | int = 0.0activation_dropout: float | int = 0.0encode_proj_layers: list[int] | tuple[int, ...] | None = (2,)positional_encoding_temperature: int = 10000encoder_activation_function: str = 'gelu'activation_function: str = 'silu'eval_size: list[int] | None = Nonenormalize_before: bool = Falsehidden_expansion: float = 1.0d_model: int = 256num_queries: int = 300decoder_in_channels: list[int] | tuple[int, ...] | None = (256, 256, 256)decoder_ffn_dim: int = 1024num_feature_levels: int = 3decoder_n_points: int = 4decoder_layers: int = 6decoder_attention_heads: int = 8decoder_activation_function: str = 'relu'attention_dropout: float | int = 0.0num_denoising: int = 100label_noise_ratio: float = 0.5box_noise_scale: float = 1.0learn_initial_query: bool = Falseanchor_image_size: list[int] | None = Nonedisable_custom_kernels: bool = Trueclass_thresholds: list[float] | None = Noneclass_order: list[int] | None = Nonereading_order_config: transformers.configuration_utils.PreTrainedConfig | dict | None = None )

パラメータ

  • is_encoder_decoder (bool、任意、デフォルトはTrue) — モデルがエンコーダー/デコーダーとして使用されるかどうかを示します。
  • initializer_range (float、任意、デフォルトは 0.01) — すべての重み行列を初期化するための truncated_normal_initializer の標準偏差です。
  • initializer_bias_prior_prob (float, 省略可) — enc_score_head および class_embed のバイアスを初期化するために、バイアス初期化器が使用する事前確率です。 None の場合、モデルの重みを初期化する際に prior_prob は prior_prob = 1 / (num_labels + 1) として計算されます。
  • layer_norm_eps (float、任意、デフォルトは 1e-05) — レイヤーノーマル層で使用する epsilon です。
  • batch_norm_eps (float、任意、デフォルトは 1e-05) — バッチ正規化レイヤーで使用する epsilon です。
  • backbone_config (Union[~configuration_utils.PreTrainedConfig, dict], 省略可) — バックボーンモデルの設定です。
  • freeze_backbone_batch_norms (bool、任意、デフォルトはTrue) — バックボーン内のバッチ正規化レイヤーをフリーズするかどうかを指定します。
  • encoder_hidden_dim (int、任意、デフォルトは 256) — ハイブリッドエンコーダーの各層の次元数です。
  • encoder_in_channels (list、任意、デフォルトは [512, 1024, 2048]) — エンコーダーへのマルチレベル特徴量入力。
  • feat_strides (list[int]、任意、デフォルトは [8, 16, 32]) — 各特徴量マップで使用するストライドです。
  • encoder_layers (int、任意、デフォルトは 1)— エンコーダーで使用されるレイヤーの総数。
  • encoder_ffn_dim (int、任意、デフォルトは 1024) — エンコーダー内の「中間」層(feed-forward 層と呼ばれることが多い)の次元数。
  • encoder_attention_heads (int、任意、デフォルトは 8) — Transformer エンコーダーの各アテンション層におけるアテンションヘッドの数。
  • dropout (Union[float, int]、省略可、デフォルト値は0.0) — すべての dropout レイヤーの比率です。
  • activation_dropout (Union[float, int]、任意、デフォルトは 0.0) — 全結合層内の活性化に対する dropout 率です。
  • encode_proj_layers (list[int]、任意、デフォルトは [2]) — エンコーダーで使用する投影レイヤーのインデックスです。
  • positional_encoding_temperature (int、任意、デフォルトは 10000) — 位置エンコーディングの作成に使用される温度パラメータです。
  • encoder_activation_function (str、省略可能、デフォルトは"gelu") — エンコーダーとプーラーで使用する非線形活性化関数(関数または文字列)です。文字列の場合、"gelu"、"relu"、"silu"、"gelu_new"がサポートされています。
  • activation_function (str、任意、デフォルトは silu) — デコーダーで使用する非線形活性化関数(関数または文字列)。例えば、"gelu"、 "relu"、"silu" など。
  • eval_size (tuple[int, int]、省略可) — ストライドを考慮した上で、位置埋め込みの有効な高さおよび幅を計算するために使用される高さおよび幅。
  • normalize_before (bool、任意、デフォルトは False) — Transformerエンコーダー層において、self-attentionモジュールとfeed-forwardモジュールの前にレイヤーノーマルを適用するかどうかを決定します。
  • hidden_expansion (float、任意、デフォルト値は 1.0) — RepVGGBlock と CSPRepLayer の次元サイズを拡大するための拡張比率です。
  • d_model (int、省略可、デフォルトは 256) — エンコーダ層とプーラ層のサイズ。
  • num_queries (int、任意、デフォルトは 300) — オブジェクトクエリの数。
  • decoder_in_channels (list、任意、デフォルトは [256, 256, 256]) — デコーダーのマルチレベル特徴量次元
  • decoder_ffn_dim (int、任意、デフォルト値は 1024)— デコーダー内の「中間」(feed-forward と呼ばれることが多い)層の次元数。
  • num_feature_levels (int, 省略可、デフォルトは 3) — 入力特徴量のレベル数です。
  • decoder_n_points (int、省略可能、デフォルトは 4) — デコーダーの各アテンションヘッドにおいて、各特徴量レベルでサンプリングされるキーの数を指定します。
  • decoder_layers (int、任意、デフォルトは 6) — Transformer デコーダーの隠れ層の数です。設定されていない場合、num_layers と同じ値が使用されます。
  • decoder_attention_heads (int、任意、デフォルトは8) — Transformerデコーダーの各アテンション層におけるアテンションヘッドの数。
  • decoder_activation_function (str、任意、デフォルトは "relu") — デコーダーで使用する非線形活性化関数(関数または文字列)です。文字列の場合、"gelu"、"relu"、"silu"、"gelu_new" がサポートされています。
  • attention_dropout (Union[float, int]、任意、デフォルトは 0.0) — アテンション確率のドロップアウト率です。
  • num_denoising (int、任意、デフォルト値は 100)— 対照的デノイジングに使用するデノイジングタスクまたはクエリの総数。
  • label_noise_ratio (float、任意、デフォルト値は 0.5) — デノイジングラベルにランダムノイズを追加する割合です。
  • box_noise_scale (float、任意、デフォルト値は 1.0)— バウンディングボックスに追加するノイズのスケールまたは大きさ。
  • learn_initial_query (bool、任意、デフォルトはFalse) — デコーダーの初期クエリ埋め込みを学習中に学習するかどうかを示します
  • anchor_image_size (tuple[int, int], 任意) — 評価時にバウンディングボックスアンカーを生成するために使用される入力画像の高さと幅。None の場合、アンカーの自動生成が適用されます。
  • disable_custom_kernels (bool、任意、デフォルトは True) — カスタムカーネルを無効にするかどうかを指定します。
  • class_thresholds (list[float]、省略可) — 各ラベルの閾値です。
  • class_order (list[int]、任意) — 各ラベルの優先順位です。
  • reading_order_config (dict、省略可) — PPDocLayoutV2ReadingOrder の設定です。

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

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

例:

>>> from transformers import PPDocLayoutV2Config, PPDocLayoutV2ForObjectDetection

>>> # Initializing a PP-DocLayoutV2 configuration
>>> configuration = PPDocLayoutV2Config()

>>> # Initializing a model (with random weights) from the configuration
>>> model = PPDocLayoutV2ForObjectDetection(configuration)

>>> # Accessing the model configuration
>>> configuration = model.config

PPDocLayoutV2ForObjectDetection

クラス transformers.PPDocLayoutV2ForObjectDetection

< >

( config: PPDocLayoutV2Config )

パラメータ

  • config (PPDocLayoutV2Config) — モデルのパラメータをすべて含むモデル設定クラスです。設定ファイルで初期化しても、モデルに関連する重みは読み込まれず、設定のみが読み込まれます。モデルの重みをロードするには、from_pretrained() メソッドを参照してください。

PP-DocLayoutV2 モデル(バックボーンとエンコーダー・デコーダーで構成)は、バウンディングボックス、logits、order_logits を出力し、これらはさらにスコア、クラス、およびそれらの読み取り順序にデコードされます。

このモデルは PreTrainedModel を継承しています。すべてのモデルに実装されている汎用的なメソッド(ダウンロードや保存、入力埋め込みのリサイズ、ヘッドのプルーニングなど)については、スーパークラスのドキュメントを参照してください。

このモデルは、PyTorchのtorch.nn.Moduleのサブクラスでもあります。 通常のPyTorch Moduleとして使用し、一般的な使用方法や動作に関する詳細については、PyTorchのドキュメントを参照してください。

forward

< >

( pixel_values: FloatTensorpixel_mask: typing.Optional[torch.LongTensor] = Noneencoder_outputs: typing.Optional[torch.FloatTensor] = Noneinputs_embeds: typing.Optional[torch.FloatTensor] = Nonedecoder_inputs_embeds: typing.Optional[torch.FloatTensor] = Nonelabels: list[dict] | None = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → PPDocLayoutV2ForObjectDetectionOutput or tuple(torch.FloatTensor)

パラメータ

  • pixel_values (torch.FloatTensor、shape (batch_size, num_channels, image_size, image_size)) — 入力画像に対応するテンソルです。ピクセル値はimage_processor_classを使用して取得できます。詳細はimage_processor_class.__call__を参照してください(processor_classは画像の処理にimage_processor_classを使用します)。
  • pixel_mask (torch.LongTensor 形状 (batch_size, height, width), 省略可) — パディングピクセル値に対するアテンションの適用を回避するためのマスク。マスク値は [0, 1]:
    • 実在するピクセル(つまり、マスクされていない)に対して1
    • padding(つまり、マスクされている)ピクセルは0です。

    アテンションマスクとは?

  • encoder_outputs (torch.FloatTensor、任意) — last_hidden_state、任意: hidden_states、任意: attentions のタプル last_hidden_state は形状 (batch_size, sequence_length, hidden_size)、任意 のシーケンスで、エンコーダーの最終層の出力における隠れ状態の列です。デコーダーのクロスアテンションで使用されます。
  • inputs_embeds (torch.FloatTensor、形状 (batch_size, sequence_length, hidden_size)、任意) — フラット化された特徴マップ(バックボーンと投影層の出力)を渡す代わりに、画像のフラット化された表現を直接渡すこともできます。
  • decoder_inputs_embeds (torch.FloatTensor、shape (batch_size, num_queries, hidden_size)、任意) — クエリをゼロのテンソルで初期化する代わりに、埋め込み表現を直接渡すこともできます。
  • labels (list[Dict]、長さ (batch_size,)、任意) — 二部マッチング損失を計算するためのラベルです。辞書のリストで、各辞書には少なくとも以下の 2 つのキーが含まれます: ‘class_labels’ と ‘boxes’ (それぞれバッチ内の画像のクラスラベルとバウンディングボックスです)。クラスラベル自体は長さ (number of bounding boxes in the image,) の torch.LongTensor であり、ボックスは形状 (number of bounding boxes in the image, 4) の torch.FloatTensor である必要があります。

戻り値

PPDocLayoutV2ForObjectDetectionOutput または tuple(torch.FloatTensor)

PPDocLayoutV2ForObjectDetectionOutput、またはtorch.FloatTensorのタプル(return_dict=Falseが渡された場合、またはconfig.return_dict=Falseの場合)。設定(None)や入力に応じて、さまざまな要素で構成されます。

PPDocLayoutV2ForObjectDetectionのforwardメソッドは、__call__特殊メソッドをオーバーライドします。

この関数内でフォワードパスの手順を定義する必要がありますが、その後、この関数ではなくModuleインスタンスを呼び出すべきです。前者は前処理と後処理の実行を適切に処理するのに対し、後者はそれらを黙って無視するためです。

  • logits (torch.FloatTensor、shape (batch_size, num_queries, num_classes + 1)) — すべてのクエリに対する分類 logits(no-object を含む)。

  • pred_boxes (torch.FloatTensor、shape (batch_size, num_queries, 4)) — すべてのクエリに対する正規化されたボックス座標で、(center_x, center_y, width, height) として表されます。これらの値は、バッチ内の各画像のサイズに対して [0, 1] の範囲で正規化されています(パディングは考慮されません)。post_process_object_detection() を使用すると、正規化されていない(絶対座標の)バウンディングボックスを取得できます。

  • order_logits (tuple of torch.FloatTensor of shape (batch_size, num_queries, num_queries)) — すべてのクエリに対する順序ロジットです。各テンソルの最初の次元はバッチサイズ、2番目の次元はクエリ数です。

  • last_hidden_state (torch.FloatTensor、shape (batch_size, num_queries, hidden_size)) — モデルのデコーダーの最終層の出力における、隠れ状態のシーケンス。

  • intermediate_hidden_states (torch.FloatTensor、shape (batch_size, config.decoder_layers, num_queries, hidden_size)) — 中間隠れ状態のスタック(デコーダーの各層の出力)。

  • intermediate_logits (torch.FloatTensor、shape (batch_size, config.decoder_layers, num_queries, config.num_labels)) — 中間層の logits を積み重ねたもの(デコーダーの各層の logits)。

  • intermediate_reference_points (torch.FloatTensor、shape (batch_size, config.decoder_layers, num_queries, 4)) — 積み重ねられた中間参照点(デコーダーの各層の参照点)。

  • intermediate_predicted_corners (torch.FloatTensor、shape (batch_size, config.decoder_layers, num_queries, 4)) — 積み重ねられた中間予測コーナー(デコーダーの各層の予測コーナー)。

  • initial_reference_points (torch.FloatTensor、shape (batch_size, config.decoder_layers, num_queries, 4)) — 積み重ねられた初期参照点(デコーダーの各層の初期参照点)。

  • decoder_hidden_states (tuple[torch.FloatTensor]、optional、output_hidden_states=True が渡された場合または config.output_hidden_states=True の場合に返されます)— torch.FloatTensor のタプル(埋め込み層を持つモデルの場合、埋め込みの出力が 1 つ、各層の出力がそれぞれ 1 つずつ)で、形状は (batch_size, sequence_length, hidden_size) です。

    各層の出力および初期埋め込み出力における、デコーダーの隠れ状態。

  • decoder_attentions (tuple[torch.FloatTensor]、optional、output_attentions=True が渡された場合または config.output_attentions=True の場合に返されます)— torch.FloatTensor のタプル(各レイヤーごとに1つ)、形状は (batch_size, num_heads, sequence_length, sequence_length)。

    自己アテンションヘッドにおける加重平均を計算するために使用される、アテンションのsoftmax後のデコーダーのアテンション重み。

  • cross_attentions (tuple[torch.FloatTensor]、optional、output_attentions=True が渡された場合または config.output_attentions=True の場合に返されます) — torch.FloatTensor のタプル(各レイヤーごとに1つ)、形状は (batch_size, num_heads, sequence_length, sequence_length)。

    クロスアテンション層のアテンション重みは、アテンションのsoftmax適用後に計算され、クロスアテンションヘッドにおける加重平均の計算に使用されます。

  • encoder_last_hidden_state (torch.FloatTensor、shape (batch_size, sequence_length, hidden_size)、optional) — モデルのエンコーダーの最終層の出力における、隠れ状態のシーケンス。

  • encoder_hidden_states (tuple[torch.FloatTensor]、optional、output_hidden_states=True が渡された場合または config.output_hidden_states=True の場合に返されます)— torch.FloatTensor のタプル(埋め込み層を持つモデルの場合、埋め込みの出力が 1 つ、各層の出力がそれぞれ 1 つずつ)で、形状は (batch_size, sequence_length, hidden_size) です。

    各層の出力および初期埋め込み出力におけるエンコーダーの隠れ状態。

  • encoder_attentions (tuple[torch.FloatTensor]、optional、output_attentions=True が渡された場合または config.output_attentions=True の場合に返されます) — torch.FloatTensor のタプル(各レイヤーごとに1つ)、形状は (batch_size, num_heads, sequence_length, sequence_length)。

    アテンションのsoftmaxを適用した後のエンコーダーのアテンション重み。自己アテンションヘッドにおける加重平均の計算に使用されます。

  • init_reference_points (torch.FloatTensor、shape (batch_size, num_queries, 4)) — Transformer デコーダーに渡される初期の参照点。

  • enc_topk_logits (torch.FloatTensor、shape (batch_size, sequence_length, config.num_labels)、任意、config.with_box_refine=True かつ config.two_stage=True の場合に返されます) — エンコーダーにおける予測バウンディングボックス座標の logits。

  • enc_topk_bboxes(torch.FloatTensor、shape (batch_size, sequence_length, 4)、optional、config.with_box_refine=True かつ config.two_stage=True の場合に返されます)— エンコーダにおける予測バウンディングボックス座標の logits。

  • enc_outputs_class (torch.FloatTensor、形状 (batch_size, sequence_length, config.num_labels)、任意、config.with_box_refine=True かつ config.two_stage=True の場合に返されます) — 予測されたバウンディングボックスのスコアです。第1段階では、スコアが上位の config.two_stage_num_proposals 個のバウンディングボックスがリージョンプロポーザルとして選択されます。バウンディングボックスの二値分類(すなわち、フォアグラウンドとバックグラウンド)の出力です。

  • enc_outputs_coord_logits (torch.FloatTensor、shape (batch_size, sequence_length, 4)、optional、config.with_box_refine=True かつ config.two_stage=True の場合に返されます) — 第1段階で予測されるバウンディングボックス座標の logits。

  • denoising_meta_values (dict, 任意) — デノイジング関連の値を格納するための追加の辞書

例:

>>> from transformers import AutoModelForObjectDetection, AutoImageProcessor
>>> from PIL import Image
>>> from huggingface_hub.utils import httpx
>>> from io import BytesIO
>>> import torch

>>> url = "https://huggingface.co/datasets/hf-internal-testing/transformers-synthetic-assets/resolve/main/images/paddle_layout_demo.jpg"
>>> with httpx.stream("GET", url) as response:
...     image = Image.open(BytesIO(response.read()))

>>> model_path = "PaddlePaddle/PP-DocLayoutV2_safetensors"
>>> image_processor = AutoImageProcessor.from_pretrained(model_path)
>>> model = AutoModelForObjectDetection.from_pretrained(model_path)

>>> # prepare image for the model
>>> inputs = image_processor(images=[image], return_tensors="pt")

>>> # forward pass
>>> outputs = model(**inputs)

>>> # convert outputs (bounding boxes and class logits) to Pascal VOC format (xmin, ymin, xmax, ymax)
>>> results = image_processor.post_process_object_detection(outputs, target_sizes=torch.tensor([image.size[::-1]]))

>>> # print outputs
>>> for result in results:
...     for idx, (score, label_id, box) in enumerate(zip(result["scores"], result["labels"], result["boxes"])):
...         score, label = score.item(), label_id.item()
...         box = [round(i, 2) for i in box.tolist()]
...         print(f"Order {idx + 1}: {model.config.id2label[label]}: {score:.2f} {box}")
Order 1: text: 0.99 [335.39, 184.26, 896.49, 654.48]
Order 2: paragraph_title: 0.97 [337.14, 683.49, 869.42, 798.27]
Order 3: text: 0.99 [335.71, 843.04, 891.17, 1454.15]
Order 4: text: 0.99 [920.42, 185.53, 1476.39, 464.25]
Order 5: text: 0.98 [920.62, 483.75, 1480.52, 765.34]
Order 6: text: 0.98 [920.58, 846.75, 1481.94, 1220.53]
Order 7: text: 0.97 [921.12, 1239.27, 1468.87, 1377.33]
Order 8: footnote: 0.82 [334.58, 1614.67, 1483.84, 1731.61]
Order 9: text: 0.51 [334.58, 1614.67, 1483.84, 1731.61]
Order 10: footnote: 0.83 [334.7, 1757.26, 1471.07, 1845.33]
Order 11: text: 0.87 [336.65, 1910.28, 661.33, 1939.92]
Order 12: footnote: 0.95 [336.16, 2114.52, 1450.28, 2171.74]
Order 13: number: 0.87 [106.04, 2257.37, 136.05, 2281.98]
Order 14: footer: 0.93 [338.6, 2255.94, 985.67, 2283.57]

PPDocLayoutV2Model

クラス transformers.PPDocLayoutV2Model

< >

( config: PPDocLayoutV2Config )

パラメータ

  • config (PPDocLayoutV2Config) — モデルのパラメータをすべて含むモデル設定クラスです。設定ファイルで初期化しても、モデルに関連する重みは読み込まれず、設定のみが読み込まれます。モデルの重みをロードするには、from_pretrained() メソッドを参照してください。

PP-DocLayoutV2 モデル(バックボーンとエンコーダー・デコーダーで構成)は、ヘッドを一切付加せずに生の隠れ状態を出力します。

このモデルは PreTrainedModel を継承しています。すべてのモデルに実装されている汎用的なメソッド(ダウンロードや保存、入力埋め込みのリサイズ、ヘッドのプルーニングなど)については、スーパークラスのドキュメントを参照してください。

このモデルは、PyTorchのtorch.nn.Moduleのサブクラスでもあります。 通常のPyTorch Moduleとして使用し、一般的な使用方法や動作に関する詳細については、PyTorchのドキュメントを参照してください。

forward

< >

( pixel_values: FloatTensorpixel_mask: typing.Optional[torch.LongTensor] = Noneencoder_outputs: typing.Optional[torch.FloatTensor] = Noneinputs_embeds: typing.Optional[torch.FloatTensor] = Nonelabels: list[dict] | None = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → PPDocLayoutV2ModelOutput or tuple(torch.FloatTensor)

パラメータ

  • pixel_values (torch.FloatTensor、shape (batch_size, num_channels, image_size, image_size)) — 入力画像に対応するテンソルです。ピクセル値はimage_processor_classを使用して取得できます。詳細はimage_processor_class.__call__を参照してください(processor_classは画像の処理にimage_processor_classを使用します)。
  • pixel_mask (torch.LongTensor 形状 (batch_size, height, width), 省略可) — パディングピクセル値に対するアテンションの適用を回避するためのマスク。マスク値は [0, 1]:
    • 実在するピクセル(つまり、マスクされていない)に対して1
    • padding(つまり、マスクされている)ピクセルは0です。

    アテンションマスクとは?

  • encoder_outputs (torch.FloatTensor、任意) — last_hidden_state、任意: hidden_states、任意: attentions のタプル last_hidden_state は形状 (batch_size, sequence_length, hidden_size)、任意 のシーケンスで、エンコーダーの最終層の出力における隠れ状態の列です。デコーダーのクロスアテンションで使用されます。
  • inputs_embeds (torch.FloatTensor、形状 (batch_size, sequence_length, hidden_size)、任意) — フラット化された特徴マップ(バックボーンと投影層の出力)を渡す代わりに、画像のフラット化された表現を直接渡すこともできます。
  • labels (list[Dict]、長さ (batch_size,)、任意) — 二部マッチング損失を計算するためのラベルです。辞書のリストで、各辞書には少なくとも以下の 2 つのキーが含まれます: ‘class_labels’ と ‘boxes’ (それぞれバッチ内の画像のクラスラベルとバウンディングボックスです)。クラスラベル自体は長さ (number of bounding boxes in the image,) の torch.LongTensor であり、ボックスは形状 (number of bounding boxes in the image, 4) の torch.FloatTensor である必要があります。

戻り値

PPDocLayoutV2ModelOutput または tuple(torch.FloatTensor)

PPDocLayoutV2ModelOutput、またはtorch.FloatTensorのタプル(return_dict=Falseが渡された場合、またはconfig.return_dict=Falseの場合)。設定(None)や入力に応じて、さまざまな要素で構成されます。

PPDocLayoutV2Modelのforwardメソッドは、__call__特殊メソッドをオーバーライドします。

この関数内でフォワードパスの手順を定義する必要がありますが、その後、この関数ではなくModuleインスタンスを呼び出すべきです。前者は前処理と後処理の実行を適切に処理するのに対し、後者はそれらを黙って無視するためです。

  • last_hidden_state (torch.FloatTensor、shape (batch_size, num_queries, hidden_size)) — モデルのデコーダーの最終層の出力における、隠れ状態のシーケンス。

  • intermediate_hidden_states (torch.FloatTensor、shape (batch_size, config.decoder_layers, num_queries, hidden_size)) — 中間隠れ状態のスタック(デコーダーの各層の出力)。

  • intermediate_logits (torch.FloatTensor、shape (batch_size, config.decoder_layers, sequence_length, config.num_labels)) — 積み重ねられた中間 logits(デコーダーの各層の logits)。

  • intermediate_reference_points (torch.FloatTensor、shape (batch_size, config.decoder_layers, num_queries, 4)) — 積み重ねられた中間参照点(デコーダーの各層の参照点)。

  • intermediate_predicted_corners (torch.FloatTensor、shape (batch_size, config.decoder_layers, num_queries, 4)) — 積み重ねられた中間予測コーナー(デコーダーの各層の予測コーナー)。

  • initial_reference_points (torch.FloatTensor、shape (batch_size, num_queries, 4)) — 最初のデコーダ層で使用する初期参照点。

  • decoder_hidden_states (tuple[torch.FloatTensor]、optional、output_hidden_states=True が渡された場合または config.output_hidden_states=True の場合に返されます)— torch.FloatTensor のタプル(埋め込み層を持つモデルの場合、埋め込みの出力が 1 つ、各層の出力がそれぞれ 1 つずつ)で、形状は (batch_size, sequence_length, hidden_size) です。

    各層の出力および初期埋め込み出力における、デコーダーの隠れ状態。

  • decoder_attentions (tuple[torch.FloatTensor]、optional、output_attentions=True が渡された場合または config.output_attentions=True の場合に返されます)— torch.FloatTensor のタプル(各レイヤーごとに1つ)、形状は (batch_size, num_heads, sequence_length, sequence_length)。

    自己アテンションヘッドにおける加重平均を計算するために使用される、アテンションのsoftmax後のデコーダーのアテンション重み。

  • cross_attentions (tuple[torch.FloatTensor]、optional、output_attentions=True が渡された場合または config.output_attentions=True の場合に返されます) — torch.FloatTensor のタプル(各レイヤーごとに1つ)、形状は (batch_size, num_heads, sequence_length, sequence_length)。

    クロスアテンション層のアテンション重みは、アテンションのsoftmax適用後に計算され、クロスアテンションヘッドにおける加重平均の計算に使用されます。

  • encoder_last_hidden_state (torch.FloatTensor、shape (batch_size, sequence_length, hidden_size)、optional) — モデルのエンコーダーの最終層の出力における、隠れ状態のシーケンス。

  • encoder_hidden_states (tuple[torch.FloatTensor]、optional、output_hidden_states=True が渡された場合または config.output_hidden_states=True の場合に返されます)— torch.FloatTensor のタプル(埋め込み層を持つモデルの場合、埋め込みの出力が 1 つ、各層の出力がそれぞれ 1 つずつ)で、形状は (batch_size, sequence_length, hidden_size) です。

    各層の出力および初期埋め込み出力におけるエンコーダーの隠れ状態。

  • encoder_attentions (tuple[torch.FloatTensor]、optional、output_attentions=True が渡された場合または config.output_attentions=True の場合に返されます) — torch.FloatTensor のタプル(各レイヤーごとに1つ)、形状は (batch_size, num_heads, sequence_length, sequence_length)。

    アテンションのsoftmaxを適用した後のエンコーダーのアテンション重み。自己アテンションヘッドにおける加重平均の計算に使用されます。

  • init_reference_points (torch.FloatTensor、shape (batch_size, num_queries, 4)) — Transformer デコーダーに渡される初期の参照点。

  • enc_topk_logits (torch.FloatTensor、shape (batch_size, sequence_length, config.num_labels)) — エンコーダ段階で、スコアが上位の config.two_stage_num_proposals 個のバウンディングボックスがリージョンプロポーザルとして選択される、予測されたバウンディングボックスのスコアです。バウンディングボックスの二値分類(すなわち、フォアグラウンドとバックグラウンド)の出力です。

  • enc_topk_bboxes(torch.FloatTensor、形状 (batch_size, sequence_length, 4))— エンコーダ段階で予測されるバウンディングボックス座標の logits。

  • enc_outputs_class (torch.FloatTensor、形状 (batch_size, sequence_length, config.num_labels)、任意、config.with_box_refine=True かつ config.two_stage=True の場合に返されます) — 予測されたバウンディングボックスのスコアです。第1段階では、スコアが上位の config.two_stage_num_proposals 個のバウンディングボックスがリージョンプロポーザルとして選択されます。バウンディングボックスの二値分類(すなわち、フォアグラウンドとバックグラウンド)の出力です。

  • enc_outputs_coord_logits (torch.FloatTensor、shape (batch_size, sequence_length, 4)、optional、config.with_box_refine=True かつ config.two_stage=True の場合に返されます) — 第1段階で予測されるバウンディングボックス座標の logits。

  • denoising_meta_values (dict、任意) — デノイジング関連の値を格納する追加の辞書。

例:

>>> from transformers import AutoImageProcessor, PPDocLayoutV2Model
>>> from PIL import Image
>>> from huggingface_hub.utils import httpx
>>> from io import BytesIO

>>> url = "http://images.cocodataset.org/val2017/000000039769.jpg"
>>> with httpx.stream("GET", url) as response:
...     image = Image.open(BytesIO(response.read()))

>>> image_processor = AutoImageProcessor.from_pretrained("PekingU/PPDocLayoutV2_r50vd")
>>> model = PPDocLayoutV2Model.from_pretrained("PekingU/PPDocLayoutV2_r50vd")

>>> inputs = image_processor(images=image, return_tensors="pt")

>>> outputs = model(**inputs)

>>> last_hidden_states = outputs.last_hidden_state
>>> list(last_hidden_states.shape)
[1, 300, 256]

PPDocLayoutV2ReadingOrder

class transformers.PPDocLayoutV2ReadingOrder

< >

( config: PPDocLayoutV2Config )

パラメータ

  • config (PPDocLayoutV2Config) — モデルのパラメータをすべて含むモデル設定クラスです。設定ファイルで初期化しても、モデルに関連する重みは読み込まれず、設定のみが読み込まれます。モデルの重みをロードするには、from_pretrained() メソッドを参照してください。

PP-DocLayoutV2 ReadingOrder モデル。このモデルはエンコーダーと GlobalPointer ヘッドで構成されています。 レイアウト特徴を入力として受け取り、要素間の相対的な順序関係を表す logits を出力します。この logits は、最終的な読み取り順序を決定するために使用されます。

このモデルは PreTrainedModel を継承しています。すべてのモデルに実装されている汎用的なメソッド(ダウンロードや保存、入力埋め込みのリサイズ、ヘッドのプルーニングなど)については、スーパークラスのドキュメントを参照してください。

このモデルは、PyTorchのtorch.nn.Moduleのサブクラスでもあります。 通常のPyTorch Moduleとして使用し、一般的な使用方法や動作に関する詳細については、PyTorchのドキュメントを参照してください。

forward

< >

( boxeslabels = Nonemask = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> )

パラメータ

  • boxes (torch.Tensor、shape (batch_size, sequence_length, 4)) — 検出されたレイアウト要素のバウンディングボックス座標で、[0, 1000] のスケールです。 形式は [x_min, y_min, x_max, y_max] です。 通常、このテンソルにはソートされた有効なボックスの後にゼロパディングが含まれます。
  • labels (torch.Tensor、shape (batch_size, sequence_length)、任意) — 各レイアウト要素に対応するリマップされたクラスインデックスです。 これは必ずしも生の検出クラスIDではなく、config.class_order によってマッピングされたインデックスです(例: text/title/figure を特定の読み順カテゴリIDにマッピングする)。
  • mask (torch.Tensor shape (batch_size, sequence_length), 任意) — 閾値フィルタリング後に有効と判定された要素を示すブール値またはバイナリマスク。
    • True: 有効なレイアウト要素。
    • False: パディング/空要素。 ポインタ機構のシーケンス長(num_pred)を決定するために使用されます。

PPDocLayoutV2ReadingOrderのforwardメソッドは、__call__特殊メソッドをオーバーライドします。

この関数内でフォワードパスの手順を定義する必要がありますが、その後、この関数ではなくModuleインスタンスを呼び出すべきです。前者は前処理と後処理の実行を適切に処理するのに対し、後者はそれらを黙って無視するためです。

PPDocLayoutV2ImageProcessor

class transformers.PPDocLayoutV2ImageProcessor

< >

( **kwargs: *<class 'transformers.processing_utils.ImagesKwargs'> )

パラメータ

  • do_convert_rgb (bool、kwargs、任意) — 画像を RGB に変換するかどうかを指定します。
  • do_resize (bool、kwargs、任意、デフォルトはTrue) — 画像をリサイズするかどうか。
  • size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None]、kwargs、デフォルトは {'height' -- 800, 'width': 800}): モデルへの最大入力サイズを指定します。
  • default_to_square (bool、kwargs、任意、デフォルトは True) — size が int の場合、リサイズ時に正方形の画像をデフォルトとするかどうかを指定します。
  • crop_size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — center_crop を適用した後の出力画像のサイズ。
  • resample (Annotated[Union[int, PILImageResampling, NoneType], None], kwargs、デフォルトは 3) — 画像のリサイズ時に使用するリサンプリングフィルタです。PILImageResampling の列挙型のいずれかを使用できます。do_resize が True に設定されている場合のみ、効果が現れます。
  • do_rescale (bool、kwargs、任意、デフォルトはTrue) — 画像をリスケールするかどうかを指定します。
  • rescale_factor (float、kwargs、任意、デフォルト値は 0.00392156862745098) — do_rescale が True に設定されている場合、画像をリスケールするための係数です。
  • do_normalize (bool、kwargs、optional、デフォルトはTrue) — 画像を正規化するかどうかを指定します。
  • image_mean (Union[float, list[float], tuple[float, ...]]、kwargs、optional、デフォルトは [0, 0, 0]) — 正規化に使用する画像の平均値。do_normalize が True に設定されている場合のみ有効です。
  • image_std (Union[float, list[float], tuple[float, ...]], kwargs, optional, デフォルトは [1, 1, 1]) — 正規化に使用する画像の標準偏差。do_normalize が True に設定されている場合のみ有効です。
  • do_pad (bool, kwargs, optional) — 画像をパディングするかどうかを指定します。パディングは、バッチ内の最大サイズに合わせるか、画像ごとに固定の正方形サイズに合わせるかのいずれかで行われます。具体的なパディング戦略はモデルによって異なります。
  • pad_size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — 画像をパディングする {"height": int, "width" int} のサイズです。前処理に提供されるすべての画像サイズより大きくなければなりません。pad_size が指定されない場合、バッチ内の最大の幅と高さにパディングされます。do_pad=True. の場合のみ適用されます。
  • do_center_crop (bool, kwargs, optional) — 画像を中央クロップするかどうかを指定します。
  • data_format (Union[str, ~image_utils.ChannelDimension]、kwargs、任意) — サポートされているのは ChannelDimension.FIRST のみです。slow processors との互換性のために追加されました。
  • input_data_format (Union[str, ~image_utils.ChannelDimension], kwargs, 省略可) — 入力画像のチャネル次元の形式です。設定されていない場合、入力画像からチャネル次元の形式が推測されます。次のいずれかになります:
    • "channels_first" または ChannelDimension.FIRST: (num_channels, height, width) 形式の画像。
    • "channels_last" または ChannelDimension.LAST: (高さ, 幅, チャネル数) 形式の画像。
    • "none" または ChannelDimension.NONE: (height, width) 形式の画像。
  • device (Annotated[Union[str, torch.device, NoneType], None], kwargs) — 動画を処理するデバイスです。未設定の場合、入力動画からデバイスが推論されます。
  • return_tensors (Annotated[str | ~utils.generic.TensorType | None, None], kwargs) — 'pt' に設定されている場合はスタックされたテンソルを返し、それ以外の場合はテンソルのリストを返します。
  • disable_grouping (bool、kwargs、任意) — サイズごとに画像をグループ化してバッチ処理するのではなく、個別に処理するためにグループ化を無効にするかどうか。None の場合、画像が CPU にある場合は True、それ以外の場合は False に設定されます。この選択は、https://github.com/huggingface/transformers/pull/38157 に詳しく記載されている経験則に基づいています。
  • image_seq_length (int、kwargs、任意) — 入力内の各画像に使用される画像トークンの数です。 後方互換性のために追加されましたが、将来のモデルではプロセッサの属性として設定されるべきです。 'pt'に設定されている場合はスタックされたテンソルを返し、それ以外の場合はテンソルのリストを返します。
  • disable_grouping (bool、kwargs、任意) — サイズごとに画像をグループ化してバッチ処理するのではなく、個別に処理するためにグループ化を無効にするかどうか。None の場合、画像が CPU にある場合は True、それ以外の場合は False に設定されます。この選択は、https://github.com/huggingface/transformers/pull/38157 に詳しく記載されている経験則に基づいています。
  • image_seq_length (int、kwargs、任意) — 入力内の各画像に使用される画像トークンの数です。 後方互換性のために追加されましたが、将来のモデルではプロセッサの属性として設定されるべきです。 'pt'に設定されている場合はスタックされたテンソルを返し、それ以外の場合はテンソルのリストを返します。
  • disable_grouping (bool、kwargs、任意) — サイズごとに画像をグループ化してバッチ処理するのではなく、個別に処理するためにグループ化を無効にするかどうか。None の場合、画像が CPU にある場合は True、それ以外の場合は False に設定されます。この選択は、https://github.com/huggingface/transformers/pull/38157 に詳しく記載されている経験則に基づいています。
  • image_seq_length (int、kwargs、任意) — 入力内の各画像に使用される画像トークンの数です。 後方互換性のために追加されましたが、将来のモデルではプロセッサの属性として設定されるべきです。 'pt'に設定されている場合はスタックされたテンソルを返し、それ以外の場合はテンソルのリストを返します。
  • disable_grouping (bool、kwargs、任意) — サイズごとに画像をグループ化してバッチ処理するのではなく、個別に処理するためにグループ化を無効にするかどうか。None の場合、画像が CPU にある場合は True、それ以外の場合は False に設定されます。この選択は、https://github.com/huggingface/transformers/pull/38157 に詳しく記載されている経験則に基づいています。
  • image_seq_length (int、kwargs、任意) — 入力内の各画像に使用される画像トークンの数です。 後方互換性のために追加されましたが、将来のモデルではプロセッサの属性として設定されるべきです。 'pt'に設定されている場合はスタックされたテンソルを返し、それ以外の場合はテンソルのリストを返します。
  • disable_grouping (bool、kwargs、任意) — サイズごとに画像をグループ化してバッチ処理するのではなく、個別に処理するためにグループ化を無効にするかどうか。None の場合、画像が CPU にある場合は True、それ以外の場合は False に設定されます。この選択は、https://github.com/huggingface/transformers/pull/38157 に詳しく記載されている経験則に基づいています。
  • image_seq_length (int、kwargs、任意) — 入力内の各画像に使用される画像トークンの数です。 後方互換性のために追加されましたが、将来のモデルではプロセッサの属性として設定されるべきです。 'pt'に設定されている場合はスタックされたテンソルを返し、それ以外の場合はテンソルのリストを返します。
  • disable_grouping (bool、kwargs、任意) — サイズごとに画像をグループ化してバッチ処理するのではなく、個別に処理するためにグループ化を無効にするかどうか。None の場合、画像が CPU にある場合は True、それ以外の場合は False に設定されます。この選択は、https://github.com/huggingface/transformers/pull/38157 に詳しく記載されている経験則に基づいています。
  • image_seq_length (int、kwargs、任意) — 入力内の各画像に使用される画像トークンの数です。 後方互換性のために追加されましたが、将来のモデルではプロセッサの属性として設定されるべきです。 'pt'に設定されている場合はスタックされたテンソルを返し、それ以外の場合はテンソルのリストを返します。
  • disable_grouping (bool、kwargs、任意) — サイズごとに画像をグループ化してバッチ処理するのではなく、個別に処理するためにグループ化を無効にするかどうか。None の場合、画像が CPU にある場合は True、それ以外の場合は False に設定されます。この選択は、https://github.com/huggingface/transformers/pull/38157 に詳しく記載されている経験則に基づいています。
  • image_seq_length (int, kwargs, optional, デフォルト値は 256) — 入力内の各画像に使用される画像トークンの数です。 後方互換性のために追加されましたが、将来のモデルではプロセッサの属性として設定されるべきです。 'pt' に設定されている場合はスタックされたテンソルを返し、それ以外の場合はテンソルのリストを返します。
  • disable_grouping (bool、kwargs、任意) — サイズごとに画像をグループ化してバッチ処理するのではなく、個別に処理するためにグループ化を無効にするかどうか。None の場合、画像が CPU にある場合は True、それ以外の場合は False に設定されます。この選択は、https://github.com/huggingface/transformers/pull/38157 に詳しく記載されている経験則に基づいています。
  • image_seq_length (int、kwargs、任意) — 入力内の各画像に使用される画像トークンの数です。 後方互換性のために追加されましたが、将来のモデルではプロセッサの属性として設定されるべきです。 'pt'に設定されている場合はスタックされたテンソルを返し、それ以外の場合はテンソルのリストを返します。
  • disable_grouping (bool、kwargs、任意) — サイズごとに画像をグループ化してバッチ処理するのではなく、個別に処理するためにグループ化を無効にするかどうか。None の場合、画像が CPU にある場合は True、それ以外の場合は False に設定されます。この選択は、https://github.com/huggingface/transformers/pull/38157 に詳しく記載されている経験則に基づいています。
  • image_seq_length (int、kwargs、任意) — 入力内の各画像に使用される画像トークンの数です。 後方互換性のために追加されましたが、将来のモデルではプロセッサの属性として設定されるべきです。 'pt'に設定されている場合はスタックされたテンソルを返し、それ以外の場合はテンソルのリストを返します。
  • disable_grouping (bool、kwargs、任意) — サイズごとに画像をグループ化してバッチ処理するのではなく、個別に処理するためにグループ化を無効にするかどうか。None の場合、画像が CPU にある場合は True、それ以外の場合は False に設定されます。この選択は、https://github.com/huggingface/transformers/pull/38157 に詳しく記載されている経験則に基づいています。
  • image_seq_length (int、kwargs、任意) — 入力内の各画像に使用される画像トークンの数です。 後方互換性のために追加されましたが、将来のモデルではプロセッサの属性として設定されるべきです。 'pt'に設定されている場合はスタックされたテンソルを返し、それ以外の場合はテンソルのリストを返します。
  • disable_grouping (bool、kwargs、任意) — サイズごとに画像をグループ化してバッチ処理するのではなく、個別に処理するためにグループ化を無効にするかどうか。None の場合、画像が CPU にある場合は True、それ以外の場合は False に設定されます。この選択は、https://github.com/huggingface/transformers/pull/38157 に詳しく記載されている経験則に基づいています。
  • image_seq_length (int、kwargs、任意) — 入力内の各画像に使用される画像トークンの数です。 後方互換性のために追加されましたが、将来のモデルではプロセッサの属性として設定されるべきです。 'pt'に設定されている場合はスタックされたテンソルを返し、それ以外の場合はテンソルのリストを返します。
  • disable_grouping (bool、kwargs、任意) — サイズごとに画像をグループ化してバッチ処理するのではなく、個別に処理するためにグループ化を無効にするかどうか。None の場合、画像が CPU にある場合は True、それ以外の場合は False に設定されます。この選択は、https://github.com/huggingface/transformers/pull/38157 に詳しく記載されている経験則に基づいています。
  • image_seq_length (int、kwargs、任意) — 入力内の各画像に使用される画像トークンの数です。 後方互換性のために追加されましたが、将来のモデルではプロセッサの属性として設定されるべきです。 'pt'に設定されている場合はスタックされたテンソルを返し、それ以外の場合はテンソルのリストを返します。
  • disable_grouping (bool、kwargs、任意) — サイズごとに画像をグループ化してバッチ処理するのではなく、個別に処理するためにグループ化を無効にするかどうか。None の場合、画像が CPU にある場合は True、それ以外の場合は False に設定されます。この選択は、https://github.com/huggingface/transformers/pull/38157 に詳しく記載されている経験則に基づいています。
  • image_seq_length (int、kwargs、任意) — 入力内の各画像に使用される画像トークンの数です。 後方互換性のために追加されましたが、将来のモデルではプロセッサの属性として設定されるべきです。 'pt'に設定されている場合はスタックされたテンソルを返し、それ以外の場合はテンソルのリストを返します。
  • disable_grouping (bool、kwargs、任意) — サイズごとに画像をグループ化してバッチ処理するのではなく、個別に処理するためにグループ化を無効にするかどうか。None の場合、画像が CPU にある場合は True、それ以外の場合は False に設定されます。この選択は、https://github.com/huggingface/transformers/pull/38157 に詳しく記載されている経験則に基づいています。
  • image_seq_length (int、kwargs、任意) — 入力内の各画像に使用される画像トークンの数です。 後方互換性のために追加されましたが、将来のモデルではプロセッサの属性として設定されるべきです。 'pt'に設定されている場合はスタックされたテンソルを返し、それ以外の場合はテンソルのリストを返します。
  • disable_grouping (bool、kwargs、任意) — サイズごとに画像をグループ化してバッチ処理するのではなく、個別に処理するためにグループ化を無効にするかどうか。None の場合、画像が CPU にある場合は True、それ以外の場合は False に設定されます。この選択は、https://github.com/huggingface/transformers/pull/38157 に詳しく記載されている経験則に基づいています。
  • image_seq_length (int、kwargs、任意) — 入力内の各画像に使用される画像トークンの数です。 後方互換性のために追加されましたが、将来のモデルではプロセッサの属性として設定されるべきです。 'pt'に設定されている場合はスタックされたテンソルを返し、それ以外の場合はテンソルのリストを返します。
  • disable_grouping (bool、kwargs、任意) — サイズごとに画像をグループ化してバッチ処理するのではなく、個別に処理するためにグループ化を無効にするかどうか。None の場合、画像が CPU にある場合は True、それ以外の場合は False に設定されます。この選択は、https://github.com/huggingface/transformers/pull/38157 に詳しく記載されている経験則に基づいています。
  • image_seq_length (int、kwargs、任意) — 入力内の各画像に使用される画像トークンの数です。 後方互換性のために追加されましたが、将来のモデルではプロセッサの属性として設定されるべきです。 'pt'に設定されている場合はスタックされたテンソルを返し、それ以外の場合はテンソルのリストを返します。
  • disable_grouping (bool、kwargs、任意) — サイズごとに画像をグループ化してバッチ処理するのではなく、個別に処理するためにグループ化を無効にするかどうか。None の場合、画像が CPU にある場合は True、それ以外の場合は False に設定されます。この選択は、https://github.com/huggingface/transformers/pull/38157 に詳しく記載されている経験則に基づいています。
  • image_seq_length (int、kwargs、任意) — 入力内の各画像に使用される画像トークンの数です。 後方互換性のために追加されましたが、将来のモデルではプロセッサの属性として設定されるべきです。 'pt'に設定されている場合はスタックされたテンソルを返し、それ以外の場合はテンソルのリストを返します。
  • disable_grouping (bool、kwargs、任意) — サイズごとに画像をグループ化してバッチ処理するのではなく、個別に処理するためにグループ化を無効にするかどうか。None の場合、画像が CPU にある場合は True、それ以外の場合は False に設定されます。この選択は、https://github.com/huggingface/transformers/pull/38157 に詳しく記載されている経験則に基づいています。
  • image_seq_length (int、kwargs、任意) — 入力内の各画像に使用される画像トークンの数です。 後方互換性のために追加されましたが、将来のモデルではプロセッサの属性として設定されるべきです。 'pt'に設定されている場合はスタックされたテンソルを返し、それ以外の場合はテンソルのリストを返します。
  • disable_grouping (bool、kwargs、任意) — サイズごとに画像をグループ化してバッチ処理するのではなく、個別に処理するためにグループ化を無効にするかどうか。None の場合、画像が CPU にある場合は True、それ以外の場合は False に設定されます。この選択は、https://github.com/huggingface/transformers/pull/38157 に詳しく記載されている経験則に基づいています。
  • image_seq_length (int、kwargs、任意) — 入力内の各画像に使用される画像トークンの数です。 後方互換性のために追加されましたが、将来のモデルではプロセッサの属性として設定されるべきです。 'pt'に設定されている場合はスタックされたテンソルを返し、それ以外の場合はテンソルのリストを返します。
  • disable_grouping (bool、kwargs、任意) — サイズごとに画像をグループ化してバッチ処理するのではなく、個別に処理するためにグループ化を無効にするかどうか。None の場合、画像が CPU にある場合は True、それ以外の場合は False に設定されます。この選択は、https://github.com/huggingface/transformers/pull/38157 に詳しく記載されている経験則に基づいています。
  • image_seq_length (int、kwargs、任意) — 入力内の各画像に使用される画像トークンの数です。 後方互換性のために追加されましたが、将来のモデルではプロセッサの属性として設定されるべきです。 'pt'に設定されている場合はスタックされたテンソルを返し、それ以外の場合はテンソルのリストを返します。
  • disable_grouping (bool、kwargs、任意) — サイズごとに画像をグループ化してバッチ処理するのではなく、個別に処理するためにグループ化を無効にするかどうか。None の場合、画像が CPU にある場合は True、それ以外の場合は False に設定されます。この選択は、https://github.com/huggingface/transformers/pull/38157 に詳しく記載されている経験則に基づいています。
  • image_seq_length (int、kwargs、任意) — 入力内の各画像に使用される画像トークンの数です。 後方互換性のために追加されましたが、将来のモデルではプロセッサの属性として設定されるべきです。 'pt'に設定されている場合はスタックされたテンソルを返し、それ以外の場合はテンソルのリストを返します。
  • disable_grouping (bool、kwargs、任意) — サイズごとに画像をグループ化してバッチ処理するのではなく、個別に処理するためにグループ化を無効にするかどうか。None の場合、画像が CPU にある場合は True、それ以外の場合は False に設定されます。この選択は、https://github.com/huggingface/transformers/pull/38157 に詳しく記載されている経験則に基づいています。
  • image_seq_length (int、kwargs、任意) — 入力内の各画像に使用される画像トークンの数です。 後方互換性のために追加されましたが、将来のモデルではプロセッサの属性として設定されるべきです。 'pt'に設定されている場合はスタックされたテンソルを返し、それ以外の場合はテンソルのリストを返します。
  • disable_grouping (bool、kwargs、任意) — サイズごとに画像をグループ化してバッチ処理するのではなく、個別に処理するためにグループ化を無効にするかどうか。None の場合、画像が CPU にある場合は True、それ以外の場合は False に設定されます。この選択は、https://github.com/huggingface/transformers/pull/38157 に詳しく記載されている経験則に基づいています。
  • image_seq_length (int、kwargs、任意) — 入力内の各画像に使用される画像トークンの数です。 後方互換性のために追加されましたが、将来のモデルではプロセッサの属性として設定されるべきです。 'pt'に設定されている場合はスタックされたテンソルを返し、それ以外の場合はテンソルのリストを返します。
  • disable_grouping (bool、kwargs、任意) — サイズごとに画像をグループ化してバッチ処理するのではなく、個別に処理するためにグループ化を無効にするかどうか。None の場合、画像が CPU にある場合は True、それ以外の場合は False に設定されます。この選択は、https://github.com/huggingface/transformers/pull/38157 に詳しく記載されている経験則に基づいています。
  • image_seq_length (int、kwargs、任意) — 入力内の各画像に使用される画像トークンの数です。 後方互換性のために追加されましたが、将来のモデルではプロセッサの属性として設定されるべきです。 'pt'に設定されている場合はスタックされたテンソルを返し、それ以外の場合はテンソルのリストを返します。
  • disable_grouping (bool、kwargs、任意) — サイズごとに画像をグループ化してバッチ処理するのではなく、個別に処理するためにグループ化を無効にするかどうか。None の場合、画像が CPU にある場合は True、それ以外の場合は False に設定されます。この選択は、https://github.com/huggingface/transformers/pull/38157 に詳しく記載されている経験則に基づいています。
  • image_seq_length (int、kwargs、任意) — 入力内の各画像に使用される画像トークンの数です。 後方互換性のために追加されましたが、将来のモデルではプロセッサの属性として設定されるべきです。 'pt'に設定されている場合はスタックされたテンソルを返し、それ以外の場合はテンソルのリストを返します。
  • disable_grouping (bool、kwargs、任意) — サイズごとに画像をグループ化してバッチ処理するのではなく、個別に処理するためにグループ化を無効にするかどうか。None の場合、画像が CPU にある場合は True、それ以外の場合は False に設定されます。この選択は、https://github.com/huggingface/transformers/pull/38157 に詳しく記載されている経験則に基づいています。
  • image_seq_length (int、kwargs、任意) — 入力内の各画像に使用される画像トークンの数です。 後方互換性のために追加されましたが、将来のモデルではプロセッサの属性として設定されるべきです。
  • Returns が 'pt' に設定されている場合はスタックされたテンソルを、それ以外の場合はテンソルのリストを返します。 —

PPDocLayoutV2ImageProcessor イメージプロセッサを構築します。

disable_grouping (bool, kwargs, optional): サイズによる画像のグループ化を無効にし、バッチ処理ではなく個別に処理するかどうかを指定します。 None の場合、画像が CPU にある場合は True、それ以外の場合は False に設定されます。この選択は、https://github.com/huggingface/transformers/pull/38157 に詳しく記載されている実証的な観察に基づいています。 image_seq_length (int, kwargs, optional): 入力内の各画像に使用される画像トークンの数です。 後方互換性のために追加されましたが、将来のモデルではプロセッサの属性として設定されるべきです。

preprocess

< >

( images: typing.Union[ForwardRef('PIL.Image.Image'), numpy.ndarray, ForwardRef('torch.Tensor'), list['PIL.Image.Image'], list[numpy.ndarray], list['torch.Tensor']]*argsimage_like_kwargs: dict[str, typing.Any] | None = None**kwargs: *<class 'transformers.processing_utils.ImagesKwargs'> ) → ~image_processing_base.BatchFeature

パラメータ

  • images (Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]]) — 前処理対象の画像です。ピクセル値が 0 から 255 の範囲にある単一の画像またはバッチを想定しています。ピクセル値が 0 から 1 の範囲にある画像を渡す場合は、do_rescale=False を設定してください。
  • image_like_kwargs (dict[str, Any], 省略可) — 追加の画像類似入力を前処理対象に含めるための開発者向けフラグです。引数として入力値を渡す方法が機能しない場合のみ使用してください。例えば、preprocess(images, masks=masks) が推奨される方法ですが、一部のモデルでは引数の優先順位の問題が発生します。そのような場合は、代わりに preprocess(images, image_like_inputs={"masks": masks}) を使用できます。
  • do_convert_rgb (bool、kwargs、任意) — 画像を RGB に変換するかどうかを指定します。
  • do_resize (bool、kwargs、optional) — 画像をリサイズするかどうか。
  • size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — モデルへの最大入力次元を記述します。
  • default_to_square (bool、kwargs、任意) — サイズが整数の場合、リサイズ時に正方形の画像をデフォルトとするかどうか。
  • crop_size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — center_crop を適用した後の出力画像のサイズ。
  • resample (Annotated[Union[int, PILImageResampling, NoneType], None], kwargs) — 画像のリサイズ時に使用するリサンプリングフィルタ。PILImageResampling の列挙型のいずれかを使用できます。do_resize が True に設定されている場合のみ有効です。
  • do_rescale (bool、kwargs、optional) — 画像をリスケールするかどうかを指定します。
  • rescale_factor (float、kwargs、任意) — do_rescale が True に設定されている場合、画像をリスケールするための係数。
  • do_normalize (bool, kwargs, optional) — 画像を正規化するかどうかを指定します。
  • image_mean (Union[float, list[float], tuple[float, ...]]、kwargs、optional) — 正規化に使用する画像の平均値。do_normalize が True に設定されている場合のみ有効です。
  • image_std (Union[float, list[float], tuple[float, ...]], kwargs, optional) — 正規化に使用する画像の標準偏差。do_normalize が True に設定されている場合のみ有効です。
  • do_pad (bool, kwargs, optional) — 画像をパディングするかどうかを指定します。パディングは、バッチ内の最大サイズに合わせるか、画像ごとに固定の正方形サイズに合わせるかのいずれかで行われます。具体的なパディング戦略はモデルによって異なります。
  • pad_size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — 画像をパディングする {"height": int, "width" int} のサイズです。前処理に提供されるすべての画像サイズより大きくなければなりません。pad_size が指定されない場合、バッチ内の最大の幅と高さにパディングされます。do_pad=True. の場合のみ適用されます。
  • do_center_crop (bool, kwargs, optional) — 画像を中央クロップするかどうかを指定します。
  • data_format (Union[str, ~image_utils.ChannelDimension]、kwargs、任意) — サポートされているのは ChannelDimension.FIRST のみです。slow processors との互換性のために追加されました。
  • input_data_format (Union[str, ~image_utils.ChannelDimension], kwargs, 省略可) — 入力画像のチャネル次元の形式です。設定されていない場合、入力画像からチャネル次元の形式が推測されます。次のいずれかになります:
    • "channels_first" または ChannelDimension.FIRST: (num_channels, height, width) 形式の画像。
    • "channels_last" または ChannelDimension.LAST: (高さ, 幅, チャネル数) 形式の画像。
    • "none" または ChannelDimension.NONE: (height, width) 形式の画像。
  • device (Annotated[Union[str, torch.device, NoneType], None], kwargs) — 動画を処理するデバイスです。未設定の場合、入力動画からデバイスが推論されます。
  • return_tensors (Annotated[str | ~utils.generic.TensorType | None, None], kwargs) — 'pt' に設定されている場合はスタックされたテンソルを返し、それ以外の場合はテンソルのリストを返します。
  • disable_grouping (bool、kwargs、任意) — サイズごとに画像をグループ化してバッチ処理するのではなく、個別に処理するためにグループ化を無効にするかどうか。None の場合、画像が CPU にある場合は True、それ以外の場合は False に設定されます。この選択は、https://github.com/huggingface/transformers/pull/38157 に詳しく記載されている経験則に基づいています。
  • image_seq_length (int、kwargs、任意) — 入力内の各画像に使用される画像トークンの数です。 後方互換性のために追加されましたが、将来のモデルではプロセッサの属性として設定されるべきです。

戻り値

~image_processing_base.BatchFeature

  • data (dict) — call メソッド(‘pixel_values’ など)によって返される、リスト/配列/テンソルの辞書。
  • tensor_type (Union[None, str, TensorType]、省略可) — 初期化時に PyTorch/Numpy の Tensor 内の整数リストを変換するために、ここで tensor_type を指定できます。

画像または画像のバッチを前処理します。

Update on GitHub