Transformers documentation
PP-OCRv6_small_det
Model ini disumbangkan ke Hugging Face Transformers pada 2026-05-19.
PP-OCRv6_small_det
Ikhtisar
PP-OCRv6_small_det adalah model kecil dalam seri deteksi PP-OCRv6 yang dikembangkan oleh tim PaddleOCR. Model ini menggunakan LCNetV4 sebagai backbone dan RepLKFPN sebagai leher piramida fitur, menyediakan lokalisasi teks yang akurat di berbagai skenario, termasuk teks tulisan tangan, cetak, berputar, melengkung, dan artistik dalam berbagai bahasa. Model ini berisi 2,48 juta parameter.
Arsitektur Model
Penggunaan
Inferensi input tunggal
Contoh di bawah ini menunjukkan cara mendeteksi teks dengan PP-OCRv6_small_det menggunakan AutoModel.
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_small_det_safetensors" # or "PaddlePaddle/PP-OCRv6_tiny_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)Inferensi berbatch
Berikut cara melakukannya dengan PP-OCRv6_small_det menggunakan AutoModel:
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_small_det_safetensors" # or "PaddlePaddle/PP-OCRv6_tiny_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)PPOCRV6SmallDetForObjectDetection
kelas transformers.PPOCRV6SmallDetForObjectDetection
< source >( config: PPOCRV6SmallDetConfig )
Parameter
- config (PPOCRV6SmallDetConfig) — Kelas konfigurasi model dengan semua parameter model. Inisialisasi dengan file konfigurasi tidak memuat bobot yang terkait dengan model, hanya konfigurasinya. Lihat metode from_pretrained() untuk memuat bobot model.
Model PPOCR6SmallRec untuk tugas pengenalan teks.
Model ini mewarisi dari PreTrainedModel. Periksa dokumentasi kelas induk untuk metode generik yang diimplementasikan oleh pustaka untuk semua model (seperti mengunduh atau menyimpan, mengubah ukuran embedding input, memangkas kepala, dll.)
Model ini juga merupakan subclass dari torch.nn.Module PyTorch. Gunakan sebagai PyTorch Module biasa dan merujuk ke dokumentasi PyTorch untuk semua hal yang berkaitan dengan penggunaan dan perilaku umum.
PPOCRV6SmallDetConfig
kelas transformers.PPOCRV6SmallDetConfig
< 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 = Nonebackbone_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Nonereduction: int = 4neck_out_channels: int = 96interpolate_mode: str = 'nearest'kernel_list: list[int] | tuple[int, ...] = (3, 2, 2)layer_list_out_channels: list[int] | tuple[int, ...] = (12, 18, 42, 360)dilated_kernel_size: int = 7 )
Parameter
- backbone_config (
Union[dict, ~configuration_utils.PreTrainedConfig], opsional) — Konfigurasi dari model backbone. - reduction (
int, opsional, default 4) — Faktor reduksi untuk dimensi kanal fitur, digunakan untuk mengurangi jumlah parameter model dan kompleksitas komputasi sambil mempertahankan representabilitas fitur. - neck_out_channels (
int, opsional, default 96) — Jumlah saluran keluar dari jaringan neck, yang bertanggung jawab untuk fusi dan penyempurnaan fitur sebelum meneruskan fitur ke jaringan head. - interpolate_mode (
str, opsional, defaultnya"nearest") — Mode interpolasi yang digunakan untuk upsampling atau downsampling peta fitur di jaringan neck. Mode yang didukung meliputi"nearest"(interpolasi tetangga terdekat) dan"bilinear". - kernel_list (
List[int], opsional, default[3, 2, 2]) — Daftar ukuran kernel untuk lapisan konvolusional dalam jaringan head, yang digunakan untuk ekstraksi fitur multi-skala guna mendeteksi wilayah teks dengan ukuran berbeda. - layer_list_out_channels (
List[int], opsional, default[12, 18, 42, 360]) — Daftar saluran keluar untuk setiap tahap backbone, digunakan untuk mengonfigurasi saluran input dari lapisan RSE dalam jaringan neck untuk fusi fitur multi-skala. - dilated_kernel_size (
int, opsional, default 7) — Ukuran kernel dari lapisan konvolusi dilasi pada jalur konvolusi input, digunakan untuk menangkap dependensi jarak jauh pada peta fitur.
Ini adalah kelas konfigurasi untuk menyimpan konfigurasi dari PPOCRV6SmallDetModel. Kelas ini digunakan untuk membuat instans model Pp Ocrv6 Small Det sesuai dengan argumen yang ditentukan, yang mendefinisikan arsitektur model. Membuat instans konfigurasi dengan nilai bawaan akan menghasilkan konfigurasi yang serupa dengan konfigurasi dari PaddlePaddle/PP-OCRv6_small_det_safetensors
Objek konfigurasi mewarisi dari PreTrainedConfig dan dapat digunakan untuk mengontrol output model. Baca dokumentasi dari PreTrainedConfig untuk informasi lebih lanjut.
PPOCRV6SmallDetModel
kelas transformers.PPOCRV6SmallDetModel
< source >( config: PPOCRV6SmallDetConfig )
Parameter
- config (PPOCRV6SmallDetConfig) — Kelas konfigurasi model dengan semua parameter model. Inisialisasi dengan file konfigurasi tidak memuat bobot yang terkait dengan model, hanya konfigurasinya. Lihat metode from_pretrained() untuk memuat bobot model.
Model Pp Ocrv6 Small Det polos yang menghasilkan hidden-states mentah tanpa head spesifik di atasnya.
Model ini mewarisi dari PreTrainedModel. Periksa dokumentasi kelas induk untuk metode generik yang diimplementasikan oleh pustaka untuk semua model (seperti mengunduh atau menyimpan, mengubah ukuran embedding input, memangkas kepala, dll.)
Model ini juga merupakan subclass dari torch.nn.Module PyTorch. Gunakan sebagai PyTorch Module biasa dan merujuk ke dokumentasi PyTorch untuk semua hal yang berkaitan dengan penggunaan dan perilaku umum.
forward
< source >( pixel_values: Tensor**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → BaseModelOutputWithNoAttention or tuple(torch.Tensor)
Parameter
- pixel_values (
torch.Tensordengan bentuk(batch_size, num_channels, image_size, image_size)) — Tensor yang sesuai dengan gambar input. Nilai piksel dapat diperoleh menggunakan PPOCRV5ServerDetImageProcessor. Lihat PPOCRV5ServerDetImageProcessor.call() untuk detailnya (processor_classmenggunakan PPOCRV5ServerDetImageProcessor untuk memproses gambar).
Mengembalikan
BaseModelOutputWithNoAttention atau tuple(torch.Tensor)
BaseModelOutputWithNoAttention atau tuple dari
torch.Tensor (jika return_dict=False diteruskan atau ketika config.return_dict=False) yang terdiri dari berbagai
elemen tergantung pada konfigurasi (PPOCRV6SmallDetConfig) dan input.
Metode forward dari PPOCRV6SmallDetModel menimpa metode khusus __call__.
Meskipun resep untuk forward pass perlu didefinisikan di dalam fungsi ini, sebaiknya panggil instance
Modulesetelahnya alih-alih fungsi ini, karena yang pertama menangani langkah-langkah pra-pemrosesan dan pasca-pemrosesan, sedangkan yang kedua mengabaikannya secara diam-diam.
last_hidden_state (
torch.Tensordengan bentuk(batch_size, num_channels, height, width)) — Urutan hidden-state pada keluaran lapisan terakhir model.hidden_states (
tuple(torch.Tensor), opsional, dikembalikan saatoutput_hidden_states=Truedilewatkan atau saatconfig.output_hidden_states=True) — Tuple daritorch.Tensor(satu untuk output dari embeddings, jika model memiliki lapisan embedding, + satu untuk output dari setiap lapisan) dengan bentuk(batch_size, num_channels, height, width).Hidden-states model pada output setiap layer ditambah output embedding awal yang opsional.