Transformers documentation

PPLCNetV3

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

and get access to the augmented documentation experience

to get started

Model ini dipublikasikan di HF papers pada 2021-09-17 dan disumbangkan ke Hugging Face Transformers pada 2026-03-13.

PPLCNetV3

PPLCNetV3 adalah backbone konvolusional ringan yang dioptimalkan untuk CPU, dirancang untuk klasifikasi gambar yang efisien dan tugas visi turunan lainnya. Arsitektur ini dibangun di atas arsitektur PP-LCNet dengan strategi pelatihan yang ditingkatkan dan penyempurnaan struktural untuk mencapai kompromi akurasi-latensi yang lebih baik pada perangkat keras CPU.

Catatan

  • PPLCNetV3 disediakan hanya sebagai jaringan backbone. Tidak ada checkpoint klasifikasi gambar terlatih yang telah dirilis secara resmi.

PPLCNetV3Config

kelas transformers.PPLCNetV3Config

< >

( 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: int = 16stem_stride: int = 2reduction: int = 4divisor: int = 8hidden_act: str = 'hardswish'_out_features: list[str] | None = None_out_indices: list[int] | None = Noneconv_symmetric_num: int = 4 )

Parameter

  • scale (float, opsional, default 1.0) — Faktor penskalaan untuk dimensi channel model, digunakan untuk menyesuaikan ukuran model dan biaya komputasi tanpa mengubah arsitektur keseluruhan (misalnya, 0.25, 0.5, 1.0, 1.5).
  • block_configs (list[list[tuple]], opsional, default None) — Konfigurasi untuk setiap blok di setiap stage. Setiap tuple berisi: (kernel_size, in_channels, out_channels, stride, use_squeeze_excitation). Jika None, menggunakan konfigurasi PP-LCNet default.
  • stem_channels (int, opsional, default 16) — Jumlah channel output untuk lapisan stem.
  • stem_stride (int, opsional, default 2) — Stride untuk lapisan konvolusi stem.
  • reduction (int, opsional, default 4) — Faktor reduksi untuk dimensi kanal fitur dalam blok squeeze-and-excitation (SE), yang digunakan untuk mengurangi jumlah parameter model dan kompleksitas komputasi sambil mempertahankan representabilitas fitur.
  • divisor (int, opsional, default 8) — Pembagi yang digunakan untuk memastikan bahwa berbagai parameter model (misalnya, dimensi channel, ukuran kernel) merupakan kelipatan dari nilai ini, sehingga mendorong implementasi model yang efisien dan pemanfaatan sumber daya yang optimal.
  • hidden_act (str, opsional, defaultnya hardswish) — Fungsi aktivasi non-linear (fungsi atau string) di decoder. Misalnya, "gelu", "relu", "silu", dan sebagainya.
  • conv_symmetric_num (int, opsional, default 4) — Jumlah cabang konvolusi kxk pada lapisan reparameterisasi yang dapat dipelajari, digunakan untuk meningkatkan kemampuan ekstraksi fitur melalui arsitektur multi-cabang selama pelatihan sambil memungkinkan inferensi yang efisien melalui reparameterisasi struktural.

Ini adalah kelas konfigurasi untuk menyimpan konfigurasi dari Pp Lcnet V3Model. Kelas ini digunakan untuk membuat instans model Pp Lcnet V3 berdasarkan argumen yang ditentukan, sehingga mendefinisikan arsitektur model. Membuat instans konfigurasi dengan nilai bawaan akan menghasilkan konfigurasi yang serupa dengan konfigurasi dari PaddlePaddle/Not_yet_released

Objek konfigurasi mewarisi dari PreTrainedConfig dan dapat digunakan untuk mengontrol output model. Baca dokumentasi dari PreTrainedConfig untuk informasi lebih lanjut.

PPLCNetV3Backbone

kelas transformers.PPLCNetV3Backbone

< >

( config: PPLCNetV3Config )

Parameter

  • config (PPLCNetV3Config) — 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 backbone PPLCNetV3 untuk ekstraksi fitur.

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

< >

( pixel_values: Tensor**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → BackboneOutput or tuple(torch.Tensor)

Parameter

  • pixel_values (torch.Tensor dengan bentuk (batch_size, num_channels, image_size, image_size)) — Tensor yang sesuai dengan gambar input. Nilai piksel dapat diperoleh menggunakan image_processor_class. Lihat image_processor_class.__call__ untuk detailnya (processor_class menggunakan image_processor_class untuk memproses gambar).

Mengembalikan

BackboneOutput atau tuple(torch.Tensor)

BackboneOutput atau tuple dari torch.Tensor (jika return_dict=False diteruskan atau ketika config.return_dict=False) yang terdiri dari berbagai elemen tergantung pada konfigurasi (PPLCNetV3Config) dan input.

Metode forward dari PPLCNetV3Backbone menimpa metode khusus __call__.

Meskipun resep untuk forward pass perlu didefinisikan di dalam fungsi ini, sebaiknya panggil instance Module setelahnya alih-alih fungsi ini, karena yang pertama menangani langkah-langkah pra-pemrosesan dan pasca-pemrosesan, sedangkan yang kedua mengabaikannya secara diam-diam.

  • feature_maps (tuple(torch.Tensor) dengan bentuk (batch_size, num_channels, height, width)) — Feature maps dari setiap tahap.

  • hidden_states (tuple(torch.Tensor), opsional, dikembalikan saat output_hidden_states=True dilewatkan atau saat config.output_hidden_states=True) — Tuple dari torch.Tensor (satu untuk output embeddings + satu untuk output setiap layer) dengan bentuk (batch_size, sequence_length, hidden_size) atau (batch_size, num_channels, height, width), tergantung pada backbone.

    Hidden-states model pada output setiap tahap ditambah output embedding awal.

  • attentions (tuple(torch.Tensor), opsional, dikembalikan saat output_attentions=True dilewatkan atau saat config.output_attentions=True) — Tuple dari torch.Tensor (satu untuk setiap layer) dengan bentuk (batch_size, num_heads, sequence_length, sequence_length). Hanya berlaku jika backbone menggunakan attention.

    Bobot perhatian setelah softmax perhatian, digunakan untuk menghitung rata-rata berbobot di kepala perhatian diri (self-attention).

Contoh:

>>> from transformers import PPLCNetV3Config, PPLCNetV3Backbone
>>> import torch

>>> config = PPLCNetV3Config()
>>> model = PPLCNetV3Backbone(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)
Update on GitHub