Transformers documentation
PP-OCRv5_mobile_rec
このモデルは2026年3月19日に Hugging Face Transformers に貢献されました。
PP-OCRv5_mobile_rec
概要
PP-OCRv5_mobile_rec は、テキスト認識に特化した軽量モデルです。多言語ドキュメントや自然なシーンにおけるテキスト要素の効率的な認識と理解に焦点を当てています。
モデルアーキテクチャ
PP-OCRv5_mobile_rec は、PaddleOCR チームが開発した最新世代のテキスト認識モデルシリーズである PP-OCRv5_rec の一つです。簡体字中国語、繁体字中国語、英語、日本語の認識を効率的かつ正確にサポートするほか、手書き文字、縦書きテキスト、ピンイン、漢字の希少文字といった複雑なテキストシナリオも単一のモデルで対応します。認識性能を維持しつつ、推論速度とモデルの堅牢性のバランスも取り、さまざまなシナリオにおける文書理解に対して、効率的かつ正確な技術的サポートを提供します。
使用方法
単一入力推論
以下の例では、AutoModelを使用してPP-OCRv5_mobile_recでテキストを検出する方法を示しています。
import requests
from PIL import Image
from transformers import AutoImageProcessor, AutoModelForTextRecognition
model_path="PaddlePaddle/PP-OCRv5_mobile_rec_safetensors"
model = AutoModelForTextRecognition.from_pretrained(model_path, device_map="auto")
image_processor = AutoImageProcessor.from_pretrained(model_path)
image = Image.open(requests.get("https://huggingface.co/datasets/hf-internal-testing/transformers-synthetic-assets/resolve/main/images/paddle_general_ocr_rec_001.png", stream=True).raw).convert("RGB")
inputs = image_processor(images=image, return_tensors="pt").to(model.device)
outputs = model(**inputs)
results = image_processor.post_process_text_recognition(outputs)
for result in results:
print(result)バッチ推論
AutoModel を使用して PP-OCRv5_mobile_rec でこれを行う方法を示します。
import requests
from PIL import Image
from transformers import AutoImageProcessor, AutoModelForTextRecognition
model_path = "PaddlePaddle/PP-OCRv5_mobile_rec_safetensors"
model = AutoModelForTextRecognition.from_pretrained(model_path, device_map="auto")
image_processor = AutoImageProcessor.from_pretrained(model_path)
image = Image.open(requests.get("https://huggingface.co/datasets/hf-internal-testing/transformers-synthetic-assets/resolve/main/images/paddle_general_ocr_rec_001.png", stream=True).raw).convert("RGB")
inputs = image_processor(images=[image, image], return_tensors="pt").to(model.device)
outputs = model(**inputs)
results = image_processor.post_process_text_recognition(outputs)
for result in results:
print(result)PPOCRV5MobileRecForTextRecognition
class transformers.PPOCRV5MobileRecForTextRecognition
< source >( config: PPOCRV5MobileRecConfig )
パラメータ
- config (PPOCRV5MobileRecConfig) — モデルのパラメータをすべて含むモデル設定クラスです。設定ファイルで初期化しても、モデルに関連する重みは読み込まれず、設定のみが読み込まれます。モデルの重みをロードするには、from_pretrained() メソッドを参照してください。
テキスト認識タスク用のPPOCRV5MobileRecモデル。
このモデルは 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)) — 入力画像に対応するテンソルです。ピクセル値は PPOCRV5ServerRecImageProcessor を使用して取得できます。詳細については PPOCRV5ServerRecImageProcessor.call() を参照してください(processor_classは画像の処理に PPOCRV5ServerRecImageProcessor を使用します)。
戻り値
BaseModelOutputWithNoAttention または tuple(torch.FloatTensor)
BaseModelOutputWithNoAttention または、return_dict=False が渡された場合、または config.return_dict=False の場合、torch.FloatTensor のタプル。設定 (PPOCRV5MobileRecConfig) と入力に応じて、さまざまな要素で構成されます。
PPOCRV5MobileRecForTextRecognitionの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、および任意の初期埋め込み出力。
PPOCRV5MobileRecConfig
class transformers.PPOCRV5MobileRecConfig
< 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 = Nonehidden_act: str = 'silu'backbone_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Nonehidden_size: int = 120mlp_ratio: float = 2.0depth: int = 2head_out_channels: int = 18385conv_kernel_size: list | None = Noneqkv_bias: bool = Truenum_attention_heads: int = 8attention_dropout: float | int = 0.0layer_norm_eps: float = 1e-06 )
パラメータ
- hidden_act (
str、任意、デフォルトはsilu) — デコーダーで使用する非線形活性化関数(関数または文字列)。例えば、"gelu"、"relu"、"silu"など。 - backbone_config (
Union[dict, ~configuration_utils.PreTrainedConfig], 任意) — バックボーンモデルの設定です。 - hidden_size (
int、任意、デフォルトは120) — 隠れ表現の次元数。 - mlp_ratio (
float、任意、デフォルトは2.0) — MLP の隠れ層の次元と埋め込み次元の比率です。 - depth (
int、任意、デフォルトは2) — ビジョンエンコーダーにおける Transformer レイヤーの数。 - head_out_channels (
int, 任意, デフォルト値は 18385) — PPOCRV5MobileRecHead からの出力チャネル数。最終的な分類を担当します。 - conv_kernel_size (
list, 任意) — 畳み込みカーネルのサイズです。 - qkv_bias (
bool、省略可、デフォルトはTrue) — クエリ、キー、バリューにバイアスを追加するかどうか。 - num_attention_heads (
int、任意、デフォルトは8) — Transformer デコーダーの各アテンション層におけるアテンションヘッドの数。 - attention_dropout (
Union[float, int]、任意、デフォルトは0.0) — アテンション確率のドロップアウト率です。 - layer_norm_eps (
float、任意、デフォルトは1e-06) — レイヤーノーマル層で使用する epsilon です。
これは PPOCRV5MobileRecModel の設定を保存するための設定クラスです。指定された引数に基づいて Pp Ocrv5 Mobile Rec モデルをインスタンス化し、モデルのアーキテクチャを定義するために使用されます。デフォルト値で設定をインスタンス化すると、PaddlePaddle/PP-OCRv5_mobile_rec_safetensors と同様の設定が得られます。
設定オブジェクトはPreTrainedConfigを継承し、モデルの出力を制御するために使用できます。詳細については、PreTrainedConfigのドキュメントを参照してください。
PPOCRV5MobileRecModel
class transformers.PPOCRV5MobileRecModel
< source >( config: PPOCRV5MobileRecConfig )
パラメータ
- config (PPOCRV5MobileRecConfig) — モデルのパラメータをすべて含むモデル設定クラスです。設定ファイルで初期化しても、モデルに関連する重みは読み込まれず、設定のみが読み込まれます。モデルの重みをロードするには、from_pretrained() メソッドを参照してください。
BackboneネットワークとHeadネットワークで構成されるPPOCRV5MobileRecモデル。
このモデルは 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)) — 入力画像に対応するテンソルです。ピクセル値は PPOCRV5ServerRecImageProcessor を使用して取得できます。詳細については PPOCRV5ServerRecImageProcessor.call() を参照してください(processor_classは画像の処理に PPOCRV5ServerRecImageProcessor を使用します)。
戻り値
BaseModelOutputWithNoAttention または tuple(torch.FloatTensor)
BaseModelOutputWithNoAttention または、return_dict=False が渡された場合、または config.return_dict=False の場合、torch.FloatTensor のタプル。設定 (PPOCRV5MobileRecConfig) と入力に応じて、さまざまな要素で構成されます。
PPOCRV5MobileRecModelの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、および任意の初期埋め込み出力。
PPOCRV5MobileRecModel
class transformers.PPOCRV5MobileRecModel
< source >( config: PPOCRV5MobileRecConfig )
パラメータ
- config (PPOCRV5MobileRecConfig) — モデルのパラメータをすべて含むモデル設定クラスです。設定ファイルで初期化しても、モデルに関連する重みは読み込まれず、設定のみが読み込まれます。モデルの重みをロードするには、from_pretrained() メソッドを参照してください。
BackboneネットワークとHeadネットワークで構成されるPPOCRV5MobileRecモデル。
このモデルは 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)) — 入力画像に対応するテンソルです。ピクセル値は PPOCRV5ServerRecImageProcessor を使用して取得できます。詳細については PPOCRV5ServerRecImageProcessor.call() を参照してください(processor_classは画像の処理に PPOCRV5ServerRecImageProcessor を使用します)。
戻り値
BaseModelOutputWithNoAttention または tuple(torch.FloatTensor)
BaseModelOutputWithNoAttention または、return_dict=False が渡された場合、または config.return_dict=False の場合、torch.FloatTensor のタプル。設定 (PPOCRV5MobileRecConfig) と入力に応じて、さまざまな要素で構成されます。
PPOCRV5MobileRecModelの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、および任意の初期埋め込み出力。