Transformers documentation
PP-OCRv6_medium_det
このモデルは2026年5月19日に Hugging Face Transformers に貢献されました。
PP-OCRv6_medium_det
概要
PP-OCRv6_medium_det は、PaddleOCR チームが開発した PP-OCRv6 検出シリーズの中で最も大規模なモデルです。バックボーンには LCNetV4、特徴ピラミッドネックには RepLKFPN を採用しており、手書き、印刷、回転、曲線、装飾的なテキストなど、多様なシナリオにおける正確なテキスト位置特定を実現します。また、多言語にも対応しています。モデルのパラメータ数は 15.5M です。
モデルアーキテクチャ
使用方法
単一入力推論
以下の例では、AutoModelを使用してPP-OCRv6_medium_detでテキストを検出する方法を示しています。
from io import BytesIO
from huggingface_hub.utils import httpx
from PIL import Image
from transformers import AutoImageProcessor, AutoModelForObjectDetection
from transformers.image_utils import load_image
model_path = "PaddlePaddle/PP-OCRv6_medium_det_safetensors"
model = AutoModelForObjectDetection.from_pretrained(model_path, device_map="auto")
image_processor = AutoImageProcessor.from_pretrained(model_path)
image_url = "https://huggingface.co/datasets/hf-internal-testing/transformers-synthetic-assets/resolve/main/images/paddle_general_ocr_001.png"
image = load_image(image_url)
inputs = image_processor(images=image, return_tensors="pt").to(model.device)
outputs = model(**inputs)
results = image_processor.post_process_object_detection(
outputs,
target_sizes=inputs["target_sizes"],
threshold=0.2,
box_threshold=0.45,
max_candidates=3000,
unclip_ratio=1.4,
)
for result in results:
print(result)バッチ推論
AutoModel を使用して PP-OCRv6_medium_det でこれを行う方法を示します。
from io import BytesIO
from huggingface_hub.utils import httpx
from PIL import Image
from transformers import AutoImageProcessor, AutoModelForObjectDetection
from transformers.image_utils import load_image
model_path = "PaddlePaddle/PP-OCRv6_medium_det_safetensors"
model = AutoModelForObjectDetection.from_pretrained(model_path, device_map="auto")
image_processor = AutoImageProcessor.from_pretrained(model_path)
image_url = "https://huggingface.co/datasets/hf-internal-testing/transformers-synthetic-assets/resolve/main/images/paddle_general_ocr_001.png"
image = load_image(image_url)
inputs = image_processor(images=[image, image], return_tensors="pt").to(model.device)
outputs = model(**inputs)
results = image_processor.post_process_object_detection(
outputs,
target_sizes=inputs["target_sizes"],
threshold=0.2,
box_threshold=0.45,
max_candidates=3000,
unclip_ratio=1.4,
)
for result in results:
print(result)PPOCRV6MediumDetForObjectDetection
クラス transformers.PPOCRV6MediumDetForObjectDetection
< source >( config: PPOCRV6MediumDetConfig )
パラメータ
- config (PPOCRV6MediumDetConfig) — モデルのパラメータをすべて含むモデル設定クラスです。設定ファイルで初期化しても、モデルに関連する重みは読み込まれず、設定のみが読み込まれます。モデルの重みをロードするには、from_pretrained() メソッドを参照してください。
テキスト検出タスク用のPPOCRV6MediumDetモデル。
このモデルは PreTrainedModel を継承しています。すべてのモデルに実装されている汎用的なメソッド(ダウンロードや保存、入力埋め込みのリサイズ、ヘッドのプルーニングなど)については、スーパークラスのドキュメントを参照してください。
このモデルは、PyTorchのtorch.nn.Moduleのサブクラスでもあります。 通常のPyTorch Moduleとして使用し、一般的な使用方法や動作に関する詳細については、PyTorchのドキュメントを参照してください。
PPOCRV6MediumDetConfig
クラス transformers.PPOCRV6MediumDetConfig
< 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 = Falselabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Noneid2label: dict[int, str] | dict[str, str] | None = Noneinterpolate_mode: str = 'nearest'backbone_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Noneneck_out_channels: int = 256reduce_factor: int = 2intraclass_block_number: int = 4intraclass_block_config: dict | None = Nonescale_factor: int = 2scale_factor_list: list | None = Nonekernel_list: list | None = None )
パラメータ
- id2label (
Union[dict[int, str], dict[str, str]]、optional) — インデックス(予測インデックスやターゲットインデックスなど)からラベルへのマッピングです。 - interpolate_mode (
str、任意、デフォルトは"nearest") — Neckネットワーク内で特徴マップをアップサンプリングまたはダウンサンプリングする際に使用される補間モードです。 - backbone_config (
Union[dict, ~configuration_utils.PreTrainedConfig], 任意) — バックボーンモデルの設定です。 - neck_out_channels (
int、任意、デフォルト値は 256) — neck ネットワークからの出力チャネル数です。特徴量の融合と洗練を担当します。 - reduce_factor (
int、任意、デフォルトは 2) — ネックブロックで性能と複雑さのバランスを取るために使用されるチャネル削減係数です。 - intraclass_block_number (
int、任意、デフォルト値は 4) — 特徴表現を強化するために使用される Intra-Class Block モジュールの数です。 - intraclass_block_config (
dict、任意、デフォルトはNone) — 特徴表現を強化するために使用される Intra-Class Block モジュール(存在する場合)の設定です。 - scale_factor (
int、任意、デフォルトは 2) — 特徴量マップの空間解像度を調整するために使用されるスケーリング係数です。 - scale_factor_list (
list[int]、任意、デフォルトはNone) — 特徴量マップの空間解像度を調整するために使用されるスケーリング係数のリストです。 - kernel_list (
list[int]、任意、デフォルトは[3, 2, 2]) — マルチスケール特徴抽出用のヘッドネットワークにおける畳み込み層のカーネルサイズのリストです。
これは PPOCRV6MediumDetModel の設定を保存するための設定クラスです。指定された引数に基づいて Pp Ocrv6 Medium Det モデルをインスタンス化し、モデルのアーキテクチャを定義するために使用されます。デフォルト値で設定をインスタンス化すると、PaddlePaddle/PP-OCRv6_medium_det_safetensors と同様の設定が得られます。
設定オブジェクトはPreTrainedConfigを継承し、モデルの出力を制御するために使用できます。詳細については、PreTrainedConfigのドキュメントを参照してください。
PPOCRV6MediumDetModel
class transformers.PPOCRV6MediumDetModel
< source >( config: PPOCRV6MediumDetConfig )
パラメータ
- config (PPOCRV6MediumDetConfig) — モデルのパラメータをすべて含むモデル設定クラスです。設定ファイルで初期化しても、モデルに関連する重みは読み込まれず、設定のみが読み込まれます。モデルの重みをロードするには、from_pretrained() メソッドを参照してください。
特定のヘッドが上にない状態で、生の隠れ状態を出力する、素のPp Ocrv6 Medium Det Model。
このモデルは PreTrainedModel を継承しています。すべてのモデルに実装されている汎用的なメソッド(ダウンロードや保存、入力埋め込みのリサイズ、ヘッドのプルーニングなど)については、スーパークラスのドキュメントを参照してください。
このモデルは、PyTorchのtorch.nn.Moduleのサブクラスでもあります。 通常のPyTorch Moduleとして使用し、一般的な使用方法や動作に関する詳細については、PyTorchのドキュメントを参照してください。
forward
< source >( pixel_values: FloatTensor**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → BaseModelOutputWithNoAttention or tuple(torch.FloatTensor)
パラメータ
- pixel_values (
torch.FloatTensor、shape(batch_size, num_channels, image_size, image_size)) — 入力画像に対応するテンソルです。ピクセル値は PPOCRV5ServerDetImageProcessor を使用して取得できます。詳細は PPOCRV5ServerDetImageProcessor.call() を参照してください(processor_classは画像の処理に PPOCRV5ServerDetImageProcessor を使用します)。
戻り値
BaseModelOutputWithNoAttention または tuple(torch.FloatTensor)
BaseModelOutputWithNoAttention または、return_dict=False が渡された場合、または config.return_dict=False の場合、torch.FloatTensor のタプル。設定(PPOCRV6MediumDetConfig)や入力に応じて、さまざまな要素で構成されます。
PPOCRV6MediumDetModel の forward メソッドは、__call__ という特殊メソッドをオーバーライドします。
この関数内でフォワードパスの手順を定義する必要がありますが、その後、この関数ではなく
Moduleインスタンスを呼び出すべきです。前者は前処理と後処理の実行を適切に処理するのに対し、後者はそれらを黙って無視するためです。
last_hidden_state (
torch.FloatTensor、shape(batch_size, num_channels, height, width)) — モデルの最終層の出力における隠れ状態のシーケンス。hidden_states (
tuple(torch.FloatTensor)、optional、output_hidden_states=Trueが渡された場合またはconfig.output_hidden_states=Trueの場合に返される) —torch.FloatTensorのタプル(埋め込み層を持つモデルの場合、埋め込みの出力が 1 つ、各層の出力がそれぞれ 1 つずつ)で、形状は(batch_size, num_channels, height, width)です。各層の出力におけるモデルのHidden-states、および任意の初期埋め込み出力。