Transformers documentation
PPLCNetV3
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
< 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 = 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ılanNone) — 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).Noneise, 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ılanhardswish) — Çö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ılan4) — Öğ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
< source >( 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
< source >( 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ğerleriimage_processor_classkullanılarak elde edilebilir. Ayrıntılar içinimage_processor_class.__call__bölümüne bakın (processor_class, görüntü işleme içinimage_processor_classkullanı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=Truegeçirildiğinde veyaconfig.output_hidden_states=Trueolduğ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=Truegeçirildiğinde veyaconfig.output_attentions=Trueolduğ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)