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.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Bu model 2021-09-17 tarihinde HF papers'ta yayımlanmış ve 2026-03-13 tarihinde Hugging Face Transformers'a katkıda bulunulmuştur.

PPLCNetV3

PPLCNetV3, verimli görüntü sınıflandırması ve aşağı akış görü görevleri için tasarlanmış, hafif ve CPU için optimize edilmiş bir konvolüsyonel omurga (backbone) mimarisidir. PP-LCNet mimarisinin üzerine inşa edilmiş olup, CPU donanımlarında doğruluk-gecikme dengesi açısından daha iyi performans sağlamak amacıyla geliştirilmiş eğitim stratejileri ve yapısal iyileştirmeler içerir.

Notlar

  • PPLCNetV3 yalnızca bir omurga ağı olarak sunulmaktadır. Resmi olarak yayımlanmış önceden eğitilmiş bir görüntü sınıflandırma kontrol noktası bulunmamaktadır.

PPLCNetV3Config

sınıf 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 )

Parametreler

  • scale (float, isteğe bağlı, varsayılan 1.0) — Modelin kanal boyutları için ölçekleme çarpanı; genel mimariyi değiştirmeden model boyutunu ve hesaplama maliyetini ayarlamak için kullanılır (ör. 0.25, 0.5, 1.0, 1.5).
  • block_configs (list[list[tuple]], isteğe bağlı, varsayılan None) — Her aşamadaki her blok için yapılandırma. Her demet şunları içerir: (kernel_size, in_channels, out_channels, stride, use_squeeze_excitation). None ise, varsayılan PP-LCNet yapılandırması kullanılır.
  • stem_channels (int, isteğe bağlı, varsayılan 16) — Gövde katmanının çıktı kanal sayısı.
  • stem_stride (int, isteğe bağlı, varsayılan 2) — Gövde (stem) konvolüsyon katmanının stride değeri.
  • reduction (int, isteğe bağlı, varsayılan 4) — Squeeze-and-excitation (SE) bloklarında özellik kanal boyutları için indirgeme çarpanı; model parametre sayısını ve hesaplama karmaşıklığını azaltırken özellik temsil edilebilirliğini korumak için kullanılır.
  • divisor (int, isteğe bağlı, varsayılan 8) — Çeşitli model parametrelerinin (ör. kanal boyutları, çekirdek boyutları) bu değerin katları olmasını sağlayarak verimli model uygulaması ve kaynak kullanımını desteklemek için kullanılan bölücü.
  • hidden_act (str, isteğe bağlı, varsayılan hardswish) — Çözücüdeki doğrusal olmayan aktivasyon fonksiyonu (fonksiyon veya dize). Örneğin, "gelu", "relu", "silu" vb.
  • conv_symmetric_num (int, isteğe bağlı, varsayılan 4) — Öğrenilebilir yeniden parametrelendirme katmanındaki kxk konvolüsyon dallarının sayısı; eğitim sırasında çok dallı mimari yoluyla özellik çıkarma yeteneğini artırmak ve yapısal yeniden parametrelendirme yoluyla verimli çıkarım sağlamak için kullanılır.

Bu, bir Pp Lcnet V3Model yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Pp Lcnet V3 modelinin örneklenmesinde, model mimarisini tanımlamak için kullanılır. Varsayılan değerlerle bir yapılandırma örneği oluşturmak, PaddlePaddle/Not_yet_released ile benzer bir yapılandırmaya yol açar.

Yapılandırma nesneleri PreTrainedConfig sınıfından devralır ve model çıktılarını kontrol etmek için kullanılabilir. Daha fazla bilgi için PreTrainedConfig belgesini okuyun.

PPLCNetV3Backbone

sınıf transformers.PPLCNetV3Backbone

< >

( config: PPLCNetV3Config )

Parametreler

  • config (PPLCNetV3Config) — Modelin tüm parametrelerini içeren model yapılandırma sınıfı. Bir yapılandırma dosyasıyla başlatmak, modelle ilişkili ağırlıkları yüklemez, yalnızca yapılandırmayı yükler. Model ağırlıklarını yüklemek için from_pretrained() yöntemine bakın.

Özellik çıkarımı için PPLCNetV3 omurga modeli.

Bu model PreTrainedModel sınıfından devralır. Kütüphanenin tüm modelleri için uyguladığı genel yöntemler (indirme veya kaydetme, giriş gömme boyutlarını yeniden boyutlandırma, başları budama vb.) için üst sınıf belgelendirmesine bakın.

Bu model aynı zamanda bir PyTorch torch.nn.Module alt sınıfıdır. Bunu standart bir PyTorch Module olarak kullanın ve genel kullanım ve davranışla ilgili tüm konular için PyTorch dokümantasyonuna başvurun.

forward

< >

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

Parametreler

  • pixel_values (torch.Tensor, şekli (batch_size, num_channels, image_size, image_size)) — Girdi görüntülerine karşılık gelen tensörler. Piksel değerleri image_processor_class kullanılarak elde edilebilir. Ayrıntılar için image_processor_class.__call__ bölümüne bakın (processor_class, görüntü işleme için image_processor_class kullanır).

Dönüş değeri

BackboneOutput veya tuple(torch.FloatTensor)

BackboneOutput veya torch.FloatTensor bir demeti (return_dict=False geçirildiğinde veya config.return_dict=False olduğunda), yapılandırmaya (PPLCNetV3Config) ve girdilere bağlı olarak çeşitli öğelerden oluşur.

PPLCNetV3Backbone ileri yöntemi, __call__ özel yöntemini geçersiz kılar.

İleri geçiş tarifi bu fonksiyon içinde tanımlanmalı olsa da, sonrasında bunun yerine Module örneğini çağırmak gerekir; çünkü önceki, ön ve son işleme adımlarını çalıştırmaktan sorumluyken ikincisi bunları sessizce yok sayar.

  • feature_maps (tuple(torch.FloatTensor), şekli (batch_size, num_channels, height, width)) — Aşamaların özellik haritaları.

  • hidden_states (tuple(torch.FloatTensor), isteğe bağlı, output_hidden_states=True geçirildiğinde veya config.output_hidden_states=True olduğunda döndürülür) — torch.FloatTensor (gömme katmanının çıktısı için bir adet + her katmanın çıktısı için bir adet) içeren bir tuple, şekli (batch_size, sequence_length, hidden_size) veya (batch_size, num_channels, height, width), omurgaya (backbone) göre değişir.

    Modelin her aşamanın çıktısındaki gizli durumları ve başlangıç gömme çıktıları.

  • attentions (tuple(torch.FloatTensor), isteğe bağlı, output_attentions=True geçirildiğinde veya config.output_attentions=True olduğunda döndürülür) — torch.FloatTensor (her katman için bir adet) içeren bir tuple, şekli (batch_size, num_heads, sequence_length, sequence_length). Yalnızca omurga (backbone) dikkat (attention) kullanıyorsa geçerlidir.

    Dikkat softmax'ı sonrası dikkat ağırlıkları, öz-dikkat başlıklarında ağırlıklı ortalamanın hesaplanmasında kullanılır.

Örnekler:

>>> 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