Transformers documentation

Sapiens2

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

Bu model 2026-04-23 tarihinde HF papers'ta yayımlandı ve 2026-06-03 tarihinde Hugging Face Transformers'a katkıda bulunuldu.

Sapiens2

SDPA FlashAttention

Genel Bakış

Sapiens2 modeli, Rawal Khirodkar, He Wen, Julieta Martinez, Yuan Dong, Zhaoen Su ve Shunsuke Saito tarafından Sapiens2 makalesinde önerilmiştir. Sapiens2, yaklaşık 1 milyar özenle derlenmiş insan görüntüsü üzerinde ön eğitilmiş, yüksek çözünürlüklü bir vision transformer ailesidir; duruş tahmini, vücut parçası segmentasyonu, yüzey normali tahmini ve pointmap tahmini gibi insan odaklı bilgisayarla görme görevleri için tasarlanmıştır.

Tüm orijinal Sapiens2 checkpoint'lerini Sapiens2 koleksiyonunda bulabilirsiniz.

Makalenin özeti aşağıdaki gibidir:

Sapiens2'yi sunuyoruz; insan odaklı görüde genelleme, çok yönlülük ve yüksek sadakatli çıktılara odaklanan, yüksek çözünürlüklü bir transformer ailesi. Geliştirilmiş görev etiketlemeleriyle ~1 milyar özenle seçilmiş, yüksek kaliteli insan görüntüsünde ön eğitim yapıyoruz ve hem düşük seviyeli hem de semantik özellikleri öğrenmek için maskeli görüntü yeniden inşasını, kendinden damıtılmış kontrastif hedeflerle birleştiriyoruz. Modellerimiz 0,4B'den 5B parametreye kadar ölçeklenir ve yerel 1K çözünürlükte eğitilir; genişletilmiş uzamsal akıl yürütme için hiyerarşik 4K varyantları mevcuttur. Sapiens2, selefine göre önemli iyileştirmeler sağlar: poz tahmininde +4 mAP, vücut parçası segmentasyonunda +24,3 mIoU ve normal tahmininde %45,6 hata azalması; ayrıca pointmap ve albedo tahmini gibi yeni görevlere genişletilir. Kod herkese açıktır.

İpuçları:

  • Sapiens2, Rotary Position Embeddings (RoPE) kullanır ve keyfi giriş çözünürlüklerini destekler. Varsayılan görüntü işleyici, görüntüleri 1024×768 (yükseklik×genişlik) boyutuna yeniden boyutlandırır.
  • Model, orta katmanlar için Grouped Query Attention (GQA) kullanırken, ilk ve son 8 katman için tam çok başlı dikkat (full multi-head attention) kullanır.
  • Kayıt token'ları (varsayılan olarak 8 adet), yama token'larındaki yüksek normlu artefaktları azaltarak daha temiz dikkat haritaları ve yoğun tahmin görevlerinde daha iyi performans sağlar.

Bu model guarin tarafından katkıda bulunmuştur. Orijinal kod burada bulunabilir.

Kullanım örnekleri

AutoModel
AutoBackbone
Normal tahmin
Pointmap tahmini
Durum tahmini
Flip artımlaması ile poz tahmini
Durum tahmini eğitimi
Anlamsal segmentasyon
Matting

Aşağıdaki örnek, Sapiens2Model ile CLS token'ını (tüm görsel gömme) nasıl elde edeceğinizi göstermektedir.

import torch
from transformers import AutoImageProcessor, AutoModel
from transformers.image_utils import load_image

image = load_image("http://images.cocodataset.org/val2017/000000004016.jpg")

image_processor = AutoImageProcessor.from_pretrained("facebook/sapiens2-pretrain-0.4b")
model = AutoModel.from_pretrained("facebook/sapiens2-pretrain-0.4b", device_map="auto")

inputs = image_processor(images=image, return_tensors="pt").to(model.device)
with torch.inference_mode():
    outputs = model(**inputs)

# outputs.pooler_output is the CLS token (whole-image embedding)
cls_token = outputs.pooler_output
print("CLS token shape:", cls_token.shape)  # [1, 1024]

Sapiens2Config

sınıf transformers.Sapiens2Config

< >

( 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 = Nonepatch_size: int | list[int] | tuple[int, int] = 16hidden_size: int = 1024intermediate_size: int = 4096num_hidden_layers: int = 24num_attention_heads: int = 16hidden_act: str = 'silu'attention_dropout: float | int = 0.0initializer_range: float = 0.02rope_theta: float = 100.0image_size: int | list[int] | tuple[int, int] = 224num_channels: int = 3query_bias: bool = Truekey_bias: bool = Truevalue_bias: bool = Trueproj_bias: bool = Truemlp_bias: bool = Truelayerscale_value: float = 1.0drop_path_rate: float | int = 0.0use_gated_mlp: bool = Truenum_register_tokens: int = 8pos_embed_shift: float | None = Nonepos_embed_jitter: float | None = Nonepos_embed_rescale: float | None = 2.0_out_features: list[str] | None = None_out_indices: list[int] | None = Nonereshape_hidden_states: bool = Trueuse_mask_token: bool = Falserms_norm_eps: float = 1e-06normalize_backbone_outputs: bool = Trueuse_qk_norm: bool = Truenum_key_value_heads_per_layer: list[int] | None = Nonenum_key_value_attention_heads: int = 8num_first_full_attention_layers: int = 8num_last_full_attention_layers: int = 8semantic_loss_ignore_index: int = 255flip_pairs: list[list[int]] | None = Nonehead_config: transformers.models.sapiens2.configuration_sapiens2.Sapiens2HeadConfig | dict | None = None )

Parametreler

  • patch_size (Union[int, list[int], tuple[int, int]], isteğe bağlı, varsayılan 16) — Her yamanın boyutu (çözünürlüğü).
  • hidden_size (int, isteğe bağlı, varsayılan 1024) — Gizli temsillerin boyutu.
  • intermediate_size (int, isteğe bağlı, varsayılan 4096) — MLP temsillerinin boyutu.
  • num_hidden_layers (int, isteğe bağlı, varsayılan 24) — Transformer çözücüdeki gizli katman sayısı.
  • num_attention_heads (int, isteğe bağlı, varsayılan 16) — Transformer decoder'ındaki her dikkat katmanı için dikkat başı sayısı.
  • hidden_act (str, isteğe bağlı, varsayılan silu) — Çözücüdeki doğrusal olmayan aktivasyon fonksiyonu (fonksiyon veya dize). Örneğin, "gelu", "relu", "silu" vb.
  • attention_dropout (Union[float, int], isteğe bağlı, varsayılan 0.0) — Dikkat olasılıkları için dropout oranı.
  • initializer_range (float, isteğe bağlı, varsayılan 0.02) — Tüm ağırlık matrislerini başlatmak için kullanılan truncated_normal_initializer'ın standart sapması.
  • rope_theta (float, isteğe bağlı, varsayılan 100.0) — RoPE gömmelemelerinin temel periyodu.
  • image_size (Union[int, list[int], tuple[int, int]], isteğe bağlı, varsayılan 224) — Her bir görüntünün boyutu (çözünürlüğü).
  • num_channels (int, isteğe bağlı, varsayılan 3) — Giriş kanal sayısı.
  • query_bias (bool, isteğe bağlı, varsayılan True) — Sorgu projeksiyonuna bir sapma eklenip eklenmeyeceğini belirtir.
  • key_bias (bool, isteğe bağlı, varsayılan False) — Anahtar projeksiyonuna bir sapma eklenip eklenmeyeceğini belirtir.
  • value_bias (bool, isteğe bağlı, varsayılan True) — Değer projeksiyonuna bir sapma eklenip eklenmeyeceğini belirtir.
  • proj_bias (bool, isteğe bağlı, varsayılan True) — Çıktı projeksiyonuna bir sapma (bias) eklenip eklenmeyeceğini belirtir.
  • mlp_bias (bool, isteğe bağlı, varsayılan True) — MLP katmanlarındaki up_proj, down_proj ve gate_proj katmanlarında bias kullanılıp kullanılmayacağı.
  • layerscale_value (float, isteğe bağlı, varsayılan 1.0) — Katman ölçeği için kullanılacak başlangıç değeri.
  • drop_path_rate (Union[float, int], isteğe bağlı, varsayılan 0.0) — Patch füzyonu için drop path oranı.
  • use_gated_mlp (bool, isteğe bağlı, varsayılan False) — SwiGLU ileri beslemeli sinir ağı kullanılıp kullanılmayacağı.
  • num_register_tokens (int, isteğe bağlı, varsayılan 0) — Kayıt belirteçlerinin sayısı.
  • pos_embed_shift (float, isteğe bağlı) — Eğitim modunda ve None değilse yalnızca bu modda uygulanan, konum gömme koordinatlarını [-shift, shift] aralığında rastgele kaydırmak için kullanılan miktar.
  • pos_embed_jitter (float, isteğe bağlı) — [1/jitter, jitter] aralığında log-uniform değer olarak konum gömme koordinatlarına rastgele uygulanacak jitter miktarı, None değilse yalnızca eğitim modunda uygulanır.
  • pos_embed_rescale (float, isteğe bağlı, varsayılan 2.0) — Eğitim modunda ve None değilse yalnızca bu modda uygulanmak üzere, [1/rescale, rescale] aralığında log-uniform değerlerde konum gömme koordinatlarını rastgele yeniden ölçeklemek için kullanılan miktar.
  • reshape_hidden_states (bool, isteğe bağlı, varsayılan True) — Gömülü durumların, omurga olarak kullanıldığında uzamsal boyutlara yeniden şekillendirilip şekillendirilmeyeceğini belirtir.
  • use_mask_token (bool, isteğe bağlı, varsayılan False) — Gömülerde maske jetonu kullanılıp kullanılmayacağı (maskeli görüntü modelleme ön eğitimi için gereklidir).
  • rms_norm_eps (float, isteğe bağlı, varsayılan 1e-6) — RMS normalizasyon katmanları için epsilon.
  • normalize_backbone_outputs (bool, isteğe bağlı, varsayılan True) — İleri geçişten döndürülmeden önce, backbone feature_maps ve cls_tokens çıktılarının RMSNorm uygulanıp uygulanmayacağını belirtir. Yalnızca model bir backbone olarak kullanıldığında geçerlidir.
  • use_qk_norm (bool, isteğe bağlı, varsayılan True) — Dikkat katmanlarında RoPE'den önce sorgulara ve anahtarlara RMSNorm uygulanıp uygulanmayacağı.
  • num_key_value_heads_per_layer (list[int], isteğe bağlı) — Her transformer katmanı için key/value baş sayısı. Bir katmanın değerini num_attention_heads ile eşitlemek tam çok başlı dikkat (full multi-head attention) sağlar; daha küçük bir değer gruplu sorgu dikkatini (grouped-query attention) sağlar. İlk num_first_full_attention_layers ve son num_last_full_attention_layers katmanlar için varsayılan değer num_attention_heads, diğer tüm katmanlar için ise num_key_value_attention_heads'tir.
  • num_key_value_attention_heads (int, isteğe bağlı, varsayılan 8) — num_key_value_heads_per_layer ayarlanmadığında, gruplu sorgu dikkati (grouped-query attention) kullanan katmanlar için key/value başı sayısı. num_key_value_heads_per_layer ayarlandığında yok sayılır.
  • num_first_full_attention_layers (int, isteğe bağlı, varsayılan 8) — Tam çok başlı dikkat (full multi-head attention) kullanan öndeki transformer katmanlarının sayısı. Yalnızca num_key_value_heads_per_layer None olduğunda kullanılır.
  • num_last_full_attention_layers (int, isteğe bağlı, varsayılan 8) — Tam çok başlı dikkat (full multi-head attention) kullanan son transformer katmanlarının sayısı. Yalnızca num_key_value_heads_per_layer None olduğunda kullanılır.
  • semantic_loss_ignore_index (int, isteğe bağlı, varsayılan 255) — Segmentasyon kaybı hesaplanırken yok sayılan etiket indeksi.
  • flip_pairs (list[list[int]], isteğe bağlı) — Yatay olarak aynalanan anahtar nokta indekslerinin çiftleri (ör. sol kulak ↔ sağ kulak). Her çift, iki elemanlı bir listedir: [left_index, right_index]. Poz tahmininde test zamanı yatay çevirme artırımında kullanılır: modelin ısı haritalarını döndürmeden önce geri çevirmesi için bu çiftleri ikinci forward çağrısına iletin.
  • head_config (Sapiens2HeadConfig, isteğe bağlı) — Çözümleme başı için yapılandırma. Kullanılabilir seçenekler için Sapiens2HeadConfig bölümüne bakın.

Bu, bir Sapiens2Model yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Sapiens2 modelini örneklemek ve model mimarisini tanımlamak için kullanılır. Varsayılan değerlerle bir yapılandırma örneklendiğinde, facebook/sapiens2-pretrain-0.4b modelinin yapılandırmasına benzer bir yapılandırma elde edilir.

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.

Sapiens2HeadConfig

sınıf transformers.Sapiens2HeadConfig

< >

( 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 = Noneupsample_out_channels: list[int] | None = Noneupsample_kernel_sizes: list[int] | None = Noneupsample_kernel_size: int = 4use_pixel_shuffle: bool | None = Noneconv_out_channels: list[int] | None = Noneconv_kernel_sizes: list[int] | None = Noneconv_kernel_size: int = 1scale_conv_out_channels: list[int] | None = Nonescale_conv_kernel_sizes: list[int] | None = Nonescale_conv_kernel_size: int = 1scale_final_input_size: int | None = Nonescale_final_hidden_sizes: list[int] | None = None )

Parametreler

  • upsample_out_channels (list[int], isteğe bağlı) — Her upsample bloğu için çıktı kanal sayıları. İlk blok girdi olarak hidden_size kanalını alır; sonraki bloklar önceki çıktıyı kullanır.
  • upsample_kernel_sizes (list[int], isteğe bağlı) — Her upsample bloğu için çekirdek boyutu. upsample_out_channels ayarlanmış ancak bu None ise [4, ...] ile otomatik doldurulur. upsample_out_channels ile aynı uzunlukta olmalıdır.
  • upsample_kernel_size (int, varsayılan 4) — upsample_kernel_sizes ayarlanmadığında upsample blokları için varsayılan çekirdek boyutu.
  • use_pixel_shuffle (bool, isteğe bağlı) — Yukarı örneklem başlığının, ters konvolüsyonlar yerine pixel-shuffle yukarı örneklemeyi kullanıp kullanmadığını belirtir. None (varsayılan) olduğunda, başlık ters konvolüsyonları kullanır.
  • conv_out_channels (list[int], isteğe bağlı) — Yukarı örneklem bloklarının ardından gelen rafineleme konvolüsyon katmanları için çıktı kanal sayıları.
  • conv_kernel_sizes (list[int], isteğe bağlı) — Her refinement conv katmanı için kernel boyutu. conv_out_channels ayarlanmış ancak bu None ise [1, ...] ile otomatik doldurulur. conv_out_channels ile aynı uzunlukta olmalıdır.
  • conv_kernel_size (int, varsayılan 1) — conv_kernel_sizes ayarlanmadığında conv katmanları için varsayılan çekirdek boyutu.
  • scale_conv_out_channels (list[int], isteğe bağlı) — Odak uzunluğu ölçeğini tahmin etmek için kullanılan stride-2 konvolüsyon katmanlarının çıktı kanal sayıları. None (varsayılan) olduğunda, ölçek dalı oluşturulmaz.
  • scale_conv_kernel_sizes (list[int], isteğe bağlı) — Her ölçekli conv katmanı için kernel boyutu. scale_conv_out_channels ayarlanmış ancak bu None ise [1, ...] ile otomatik doldurulur. scale_conv_out_channels ile aynı uzunlukta olmalıdır.
  • scale_conv_kernel_size (int, varsayılan 1) — scale_conv_kernel_sizes ayarlanmadığında scale conv katmanları için varsayılan kernel boyutu.
  • scale_final_input_size (int, isteğe bağlı) — Scale MLP'ye aktarılan düzleştirilmiş özellik boyutu. None (varsayılan) olduğunda, üst düzey Sapiens2Config içindeki image_size ve patch_size değerlerinden otomatik olarak çıkarılır.
  • scale_final_hidden_sizes (list[int], isteğe bağlı) — Düzleştirilmiş ölçek özelliklerini skaler ölçek çıktısına eşleyen MLP için gizli katman boyutları. None (varsayılan) olduğunda, ölçek dalı oluşturulmaz.

Bu, bir Sapiens2Model yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Sapiens2 modelini örneklemek ve model mimarisini tanımlamak için kullanılır. Varsayılan değerlerle bir yapılandırma örneklendiğinde, facebook/sapiens2-seg-0.4b modelinin yapılandırmasına benzer bir yapılandırma elde edilir.

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.

Sapiens2ImageProcessor

sınıf transformers.Sapiens2ImageProcessor

< >

( **kwargs: *<class 'transformers.models.sapiens2.image_processing_sapiens2.Sapiens2ImageProcessorKwargs'> )

Parametreler

  • do_convert_rgb (bool, kwargs, opsiyonel) — Görselin RGB'ye dönüştürülüp dönüştürülmemesi.
  • do_resize (bool, kwargs, isteğe bağlı, varsayılan True) — Görselin yeniden boyutlandırılıp boyutlandırılmayacağı.
  • size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs, varsayılan {'height' -- 1024, 'width': 768}): Modelin kabul ettiği maksimum giriş boyutlarını açıklar.
  • default_to_square (bool, kwargs, isteğe bağlı, varsayılan True) — size bir int ise, yeniden boyutlandırma sırasında varsayılan olarak kare bir görüntü kullanılıp kullanılmayacağı.
  • crop_size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs, varsayılan {'height' -- 224, 'width': 224}): center_crop uygulandıktan sonra çıktı görüntüsünün boyutu.
  • resample (Annotated[Union[int, PILImageResampling, NoneType], None], kwargs, varsayılan 2) — Görsel yeniden boyutlandırılıyorsa kullanılacak yeniden örnekleme filtresi. Bu, PILImageResampling enum değerlerinden biri olabilir. Yalnızca do_resize True olarak ayarlanırsa etkilidir.
  • do_rescale (bool, kwargs, isteğe bağlı, varsayılan True) — Görselin yeniden ölçeklendirilip ölçeklendirilmeyeceği.
  • rescale_factor (float, kwargs, opsiyonel, varsayılan 0.00392156862745098) — do_rescale True olarak ayarlandığında görüntüyü yeniden ölçeklemek için kullanılan yeniden ölçekleme faktörü.
  • do_normalize (bool, kwargs, opsiyonel, varsayılan True) — Görselin normalize edilip edilmeyeceği.
  • image_mean (Union[float, list[float], tuple[float, ...]], kwargs, opsiyonel, varsayılan [0.485, 0.456, 0.406]) — Normalizasyon için kullanılacak görüntü ortalaması. Yalnızca do_normalize True olarak ayarlanırsa etkilidir.
  • image_std (Union[float, list[float], tuple[float, ...]], kwargs, opsiyonel, varsayılan [0.229, 0.224, 0.225]) — Normalizasyon için kullanılacak görüntü standart sapması. Yalnızca do_normalize True olarak ayarlanırsa etkilidir.
  • do_pad (bool, kwargs, opsiyonel, varsayılan False) — Görselin dolgu (padding) uygulanıp uygulanmayacağı. Dolgu, ya batch içindeki en büyük boyuta ya da görsel başına sabit kare bir boyuta yapılır. Kesin dolgu stratejisi modele bağlıdır.
  • pad_size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — Görsellerin doldurulacağı boyut, {"height": int, "width" int} biçiminde. Ön işleme için sağlanan herhangi bir görsel boyutundan büyük olmalıdır. pad_size sağlanmazsa, görseller batch içindeki en büyük yüksekliğe ve genişliğe doldurulur. Yalnızca do_pad=True. olduğunda uygulanır.
  • do_center_crop (bool, kwargs, opsiyonel, varsayılan False) — Görselin ortadan kırpılıp kırpılmayacağı.
  • data_format (Union[str, ~image_utils.ChannelDimension], kwargs, isteğe bağlı) — Yalnızca ChannelDimension.FIRST desteklenir. Yavaş işleyicilerle uyumluluk için eklendi.
  • input_data_format (Union[str, ~image_utils.ChannelDimension], kwargs, isteğe bağlı) — Girdi görüntüsü için kanal boyutu biçimi. Ayarlanmazsa, kanal boyutu biçimi girdi görüntüsünden çıkarılır. Aşağıdakilerden biri olabilir:
    • "channels_first" veya ChannelDimension.FIRST: (num_channels, height, width) biçiminde görüntü.
    • "channels_last" veya ChannelDimension.LAST: (yükseklik, genişlik, kanal sayısı) biçiminde görüntü.
    • "none" veya ChannelDimension.NONE: (height, width) biçiminde görüntü.
  • device (Annotated[Union[str, torch.device, NoneType], None], kwargs) — Videoların işleneceği cihaz. Ayarlanmamışsa, cihaz girdi videolarından çıkarılır.
  • return_tensors (Annotated[str | ~utils.generic.TensorType | None, None], kwargs) — 'pt' olarak ayarlanırsa yığılmış tensörler döndürür, aksi takdirde tensör listesi döndürür.
  • disable_grouping (bool, kwargs, opsiyonel) — Görsellerin boyuta göre gruplandırılmasını devre dışı bırakıp onları toplu olarak değil, bireysel olarak işlenmesini belirtir. None ise, görseller CPU üzerindeyse True, aksi halde False olarak ayarlanır. Bu seçim, burada ayrıntılandırıldığı üzere ampirik gözlemlere dayanmaktadır: https://github.com/huggingface/transformers/pull/38157
  • image_seq_length (int, kwargs, isteğe bağlı) — Girdideki her görüntü için kullanılacak görüntü jetonlarının sayısı. Geriye dönük uyumluluk için eklendi ancak gelecekteki modellerde bu, bir işlemci özniteliği olarak ayarlanmalıdır.
  • do_reduce_labels (bool, kwargs, opsiyonel, varsayılan self.do_reduce_labels) — Segmentasyon haritalarındaki tüm etiket değerlerini 1 azaltılacak mı? Genellikle 0'ın arka plan için kullanıldığı ve arka planın veri setindeki tüm sınıflara dahil olmadığı veri setlerinde (ör. ADE20k) kullanılır. Arka plan etiketi 255 ile değiştirilecektir.
  • keypoint_heatmap_downscale_factor (int, kwargs, opsiyonel, varsayılan 4) — Model giriş boyutuna göre hedef ısı haritası boyutu için küçültme çarpanı.
  • keypoint_heatmap_sigma (float, kwargs, opsiyonel, varsayılan 6.0) — Isı haritalarını üretmek için kullanılan 2B Gauss dağılımlarının standart sapması (sigma).

Sapiens2ImageProcessor görüntü işleyicisi oluşturur.

ön işleme

< >

( images: typing.Union[ForwardRef('PIL.Image.Image'), numpy.ndarray, ForwardRef('torch.Tensor'), list['PIL.Image.Image'], list[numpy.ndarray], list['torch.Tensor']]segmentation_maps: typing.Union[ForwardRef('PIL.Image.Image'), numpy.ndarray, ForwardRef('torch.Tensor'), list['PIL.Image.Image'], list[numpy.ndarray], list['torch.Tensor'], NoneType] = Noneboxes: list[list[list[float]]] | None = Nonekeypoints: list[list[list[list[float]]]] | None = None**kwargs: *<class 'transformers.models.sapiens2.image_processing_sapiens2.Sapiens2ImageProcessorKwargs'> ) → ~image_processing_base.BatchFeature

Parametreler

  • images (Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]]) — Ön işleme uygulanacak görüntü. Piksel değerleri 0 ile 255 arasında değişen tek bir görüntü veya görüntü grubu beklenir. Piksel değerleri 0 ile 1 arasında olan görüntüler geçiriliyorsa do_rescale=False olarak ayarlayın.
  • segmentation_maps (ImageInput, isteğe bağlı) — Ön işleme yapılacak segmentasyon haritaları.
  • boxes (list[list[list[float]]] veya np.ndarray, isteğe bağlı) — Her görüntü için sınırlayıcı kutuların listesi veya dizisi. Her kutu, COCO biçiminde (top_left_x, top_left_y, width, height) sınırlayıcı kutu koordinatlarını temsil eden 4 float değerden oluşan bir liste olmalıdır. Sağlandığında, tam görüntüyü yeniden boyutlandırmak yerine her kişi kırpma, model giriş boyutuna afin dönüşüm uygulanarak ayarlanır.
  • keypoints (list[list[list[list[float]]]], isteğe bağlı) — Her görüntüdeki her kişi için anahtar nokta listesi. Beklenen biçim COCO tarzı [x, y, visibility]'dir. x ve y değerlerinin mutlak görüntü piksel koordinatları olması beklenir. Biçim [images -> persons -> keypoints -> [x, y, visibility]]'dir. Poz tahmini için ince ayar sırasında yerleşik ısı haritalarını ve görünürlük ağırlıklarını üretmek için kullanılır.
  • do_convert_rgb (bool, kwargs, opsiyonel) — Görselin RGB'ye dönüştürülüp dönüştürülmemesi.
  • do_resize (bool, kwargs, opsiyonel) — Görselin yeniden boyutlandırılıp boyutlandırılmayacağı.
  • size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — Modelin kabul ettiği maksimum giriş boyutlarını açıklar.
  • default_to_square (bool, kwargs, opsiyonel) — Boyut bir int ise, yeniden boyutlandırma sırasında varsayılan olarak kare bir görüntüye geçilip geçilmeyeceği.
  • crop_size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — center_crop uygulandıktan sonra çıktı görüntüsünün boyutu.
  • resample (Annotated[Union[int, PILImageResampling, NoneType], None], kwargs) — Görsel yeniden boyutlandırılıyorsa kullanılacak yeniden örnekleme filtresi. Bu, PILImageResampling enum değerlerinden biri olabilir. Yalnızca do_resize True olarak ayarlanırsa etkilidir.
  • do_rescale (bool, kwargs, opsiyonel) — Görselin yeniden ölçeklendirilip ölçeklendirilmeyeceği.
  • rescale_factor (float, kwargs, opsiyonel) — do_rescale True olarak ayarlanırsa görüntüyü yeniden ölçeklemek için kullanılan yeniden ölçekleme faktörü.
  • do_normalize (bool, kwargs, opsiyonel) — Görselin normalize edilip edilmeyeceği.
  • image_mean (Union[float, list[float], tuple[float, ...]], kwargs, opsiyonel) — Normalizasyon için kullanılacak görüntü ortalaması. Yalnızca do_normalize True olarak ayarlanırsa etkilidir.
  • image_std (Union[float, list[float], tuple[float, ...]], kwargs, opsiyonel) — Normalizasyon için kullanılacak görüntü standart sapması. Yalnızca do_normalize True olarak ayarlanmışsa etkilidir.
  • do_pad (bool, kwargs, opsiyonel) — Görselin dolgu (padding) uygulanıp uygulanmayacağı. Dolgu, partideki en büyük boyuta veya görsel başına sabit kare bir boyuta yapılır. Kesin dolgu stratejisi modele bağlıdır.
  • pad_size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — Görsellerin doldurulacağı boyut, {"height": int, "width" int} biçiminde. Ön işleme için sağlanan herhangi bir görsel boyutundan büyük olmalıdır. pad_size sağlanmazsa, görseller batch içindeki en büyük yüksekliğe ve genişliğe doldurulur. Yalnızca do_pad=True. olduğunda uygulanır.
  • do_center_crop (bool, kwargs, opsiyonel) — Görselin ortadan kırpılıp kırpılmayacağı.
  • data_format (Union[str, ~image_utils.ChannelDimension], kwargs, isteğe bağlı) — Yalnızca ChannelDimension.FIRST desteklenir. Yavaş işleyicilerle uyumluluk için eklendi.
  • input_data_format (Union[str, ~image_utils.ChannelDimension], kwargs, isteğe bağlı) — Girdi görüntüsü için kanal boyutu biçimi. Ayarlanmazsa, kanal boyutu biçimi girdi görüntüsünden çıkarılır. Aşağıdakilerden biri olabilir:
    • "channels_first" veya ChannelDimension.FIRST: (num_channels, height, width) biçiminde görüntü.
    • "channels_last" veya ChannelDimension.LAST: (yükseklik, genişlik, kanal sayısı) biçiminde görüntü.
    • "none" veya ChannelDimension.NONE: (height, width) biçiminde görüntü.
  • device (Annotated[Union[str, torch.device, NoneType], None], kwargs) — Videoların işleneceği cihaz. Ayarlanmamışsa, cihaz girdi videolarından çıkarılır.
  • return_tensors (Annotated[str | ~utils.generic.TensorType | None, None], kwargs) — 'pt' olarak ayarlanırsa yığılmış tensörler döndürür, aksi takdirde tensör listesi döndürür.
  • disable_grouping (bool, kwargs, opsiyonel) — Görsellerin boyuta göre gruplandırılmasını devre dışı bırakıp onları toplu olarak değil, bireysel olarak işlenmesini belirtir. None ise, görseller CPU üzerindeyse True, aksi halde False olarak ayarlanır. Bu seçim, burada ayrıntılandırıldığı üzere ampirik gözlemlere dayanmaktadır: https://github.com/huggingface/transformers/pull/38157
  • image_seq_length (int, kwargs, isteğe bağlı) — Girdideki her görüntü için kullanılacak görüntü jetonlarının sayısı. Geriye dönük uyumluluk için eklendi ancak gelecekteki modellerde bu, bir işlemci özniteliği olarak ayarlanmalıdır.
  • do_reduce_labels (bool, kwargs, opsiyonel, varsayılan self.do_reduce_labels) — Segmentasyon haritalarındaki tüm etiket değerlerini 1 azaltılacak mı? Genellikle 0'ın arka plan için kullanıldığı ve arka planın veri setindeki tüm sınıflara dahil olmadığı veri setlerinde (ör. ADE20k) kullanılır. Arka plan etiketi 255 ile değiştirilecektir.
  • keypoint_heatmap_downscale_factor (int, kwargs, opsiyonel, varsayılan 4) — Model giriş boyutuna göre hedef ısı haritası boyutu için küçültme çarpanı.
  • keypoint_heatmap_sigma (float, kwargs, opsiyonel, varsayılan 6.0) — Isı haritalarını üretmek için kullanılan 2B Gauss dağılımlarının standart sapması (sigma).

Dönüş değeri

~image_processing_base.BatchFeature

  • data (dict) — call yönteminin döndürdüğü listeler/diziler/tensörler sözlüğü (‘pixel_values’ vb.).
  • tensor_type (Union[None, str, TensorType], isteğe bağlı) — Başlatma sırasında PyTorch/Numpy Tensörlerindeki tamsayı listelerini dönüştürmek için burada bir tensor_type verebilirsiniz.

post_process_image_matting

< >

( outputstarget_sizes: transformers.utils.generic.TensorType | list[tuple[int, int]] | None = Nonebackgrounds: typing.Union[ForwardRef('PIL.Image.Image'), numpy.ndarray, ForwardRef('torch.Tensor'), list['PIL.Image.Image'], list[numpy.ndarray], list['torch.Tensor'], NoneType] = None ) → list[dict] of length batch_size. Each dict has

Parametreler

  • outputs (Sapiens2ImageMattingOutput) — Modelin ham çıktıları.
  • target_sizes (torch.Tensor veya batch_size uzunluğunda list[tuple[int, int]], isteğe bağlı) — Her tahmin için istenen nihai (height, width). Çift doğrusal interpolasyonla yeniden boyutlandırılır. Ayarlanmazsa, tahminler model çıktı çözünürlüğünde döndürülür.
  • backgrounds (ImageInput, isteğe bağlı) — Üzerine birleştirilecek arka plan görüntüsü/görüntüleri. Tek bir görüntü (batch'teki her öğeye uygulanır) veya batch öğesi başına bir görüntüden oluşan bir liste olabilir. Herhangi bir dtype'a sahip PIL görüntüleri, numpy dizileri veya torch tensörlerini kabul eder; tamsayı türleri (ör. uint8) otomatik olarak [0, 1] aralığına ölçeklenir. Verildiğinde, her sonuç sözlüğüne birleştirilmiş görüntünün [0, 255] aralığında bir uint8 tensörü olarak yer aldığı "composite" anahtarı eklenir.

Dönüş değeri

list[dict] tipi, uzunluğu batch_size. Her dict

  • "alpha" (torch.Tensor, şekli (1, height, width)): [0, 1] aralığındaki alpha değerleri.
  • "foreground" (torch.Tensor, şekli (3, height, width)): [0, 1] aralığında, ön çarpılmış RGB.
  • "composite" (torch.Tensor, şekli (3, height, width) veya None): backgrounds üzerine birleştirilmiş ön plan, [0, 255] aralığında bir uint8 tensörü olarak; backgrounds sağlanmadığında None.

Sapiens2ForImageMatting çıktısını alfa matlarına ve ön plan haritalarına dönüştürür.

post_process_normal_estimation

< >

( outputssource_sizes: transformers.utils.generic.TensorType | list[tuple[int, int]] | None = Nonetarget_sizes: transformers.utils.generic.TensorType | list[tuple[int, int]] | None = Nonedo_remove_padding: bool | None = None )

Parametreler

  • outputs (Sapiens2NormalEstimatorOutput) — Modelin ham çıktıları.
  • source_sizes (torch.Tensor veya batch_size uzunluğunda list[tuple[int, int]], isteğe bağlı) — Önişleme yapılmadan önce her bir görüntünün orijinal (height, width) boyutu. Bu değer sağlandığında, önişleme sırasında eklenen dolgu kaldırılır ve tahminler orijinal görüntü boyutuna yeniden ölçeklenir (target_sizes nihai boyutu geçersiz kılmadığı sürece).
  • target_sizes (torch.Tensor veya batch_size uzunluğunda list[tuple[int, int]], isteğe bağlı) — Her tahmin için istenen nihai (height, width). Verildiğinde, source_sizes yerine yeniden boyutlandırma hedefi olarak kullanılır. L2 normalizasyonundan sonra ikili doğrusal (bilinear) interpolasyonla yeniden boyutlandırılır.
  • do_remove_padding (bool, isteğe bağlı) — Yeniden boyutlandırma işleminden önce ön işleme sırasında eklenen sıfır dolgu alanlarını kırpıp kırmayacağı. source_sizes sağlandığında varsayılan değeri True, aksi halde False olur.

Sapiens2ForNormalEstimation çıktısını L2-normalize edilmiş yüzey normal haritalarına dönüştürür.

post_process_pointmap_estimation

< >

( outputssource_sizes: transformers.utils.generic.TensorType | list[tuple[int, int]] | None = Nonetarget_sizes: transformers.utils.generic.TensorType | list[tuple[int, int]] | None = Nonedo_remove_padding: bool | None = None )

Parametreler

  • outputs (Sapiens2PointmapEstimatorOutput) — Modelin ham çıktıları.
  • source_sizes (torch.Tensor veya batch_size uzunluğunda list[tuple[int, int]], isteğe bağlı) — Önişleme yapılmadan önce her bir görüntünün orijinal (height, width) boyutu. Bu değer sağlandığında, önişleme sırasında eklenen dolgu kaldırılır ve tahminler orijinal görüntü boyutuna yeniden ölçeklenir (target_sizes nihai boyutu geçersiz kılmadığı sürece).
  • target_sizes (torch.Tensor veya batch_size uzunluğunda list[tuple[int, int]], isteğe bağlı) — Her tahmin için istenen nihai (height, width). Yeniden boyutlandırma hedefi olarak source_sizes değerini geçersiz kılar.
  • do_remove_padding (bool, isteğe bağlı) — Yeniden boyutlandırma işleminden önce ön işleme sırasında eklenen sıfır dolgu alanlarını kırpıp kırmayacağı. source_sizes sağlandığında varsayılan değeri True, aksi halde False olur.

Sapiens2ForPointmapEstimation çıktısını görüntü uzayındaki pointmap tensörlerine dönüştürür.

post_process_pose_estimation

< >

( outputsboxes: listoutputs_flipped = Nonekernel_size: int = 11threshold: float | None = Nonesource_sizes: transformers.utils.generic.TensorType | list[tuple[int, int]] | None = Nonetarget_sizes: transformers.utils.generic.TensorType | list[tuple[int, int]] | None = None ) → list[list[dict]]

Parametreler

  • outputs (Sapiens2PoseEstimatorOutput) — Modelin ham çıktıları. outputs.heatmaps biçimi (N_total, num_keypoints, heatmap_height, heatmap_width) olmalıdır; burada N_total = sum(len(b) for b in boxes).
  • boxes (list[list[list[float]]] veya np.ndarray) — Mutlak piksel koordinatlarında, her görüntü için sınırlayıcı kutuların listesi veya dizisi. Her kutu, COCO biçiminde (top_left_x, top_left_y, width, height) sınırlayıcı kutu koordinatlarını temsil eden 4 float'tan oluşan bir liste olmalıdır. preprocess fonksiyonuna geçirilen boxes argümanıyla eşleşmelidir.
  • outputs_flipped (Sapiens2PoseEstimatorOutput, opsiyonel) — Modelin yatay olarak ters çevrilmiş girdiler üzerinde çalıştırılmasından elde edilen çıktılar. Sağlandığında, anahtar nokta çıkarımı öncesinde doğruluğu artırmak için ısı haritaları outputs ile ortalama alınır: avg_heatmaps = (outputs.heatmaps + outputs_flipped.heatmaps) / 2.
  • kernel_size (int, isteğe bağlı, varsayılan 11) — UDP Dark Pose iyileştirmesinde kullanılan Gauss bulanıklaştırma için çekirdek boyutu.
  • threshold (float, isteğe bağlı) — Skor eşiği. Bu değere eşit veya daha düşük skora sahip anahtar noktalar, sonuç sözlüklerinden filtrelenir.
  • source_sizes (torch.Tensor veya batch_size uzunluğunda list[tuple[int, int]], isteğe bağlı) — Her bir görüntünün piksel cinsinden orijinal (height, width) boyutu. target_sizes sağlandığında zorunludur; anahtar noktaları ve sınırlayıcı kutuları ölçeklendirmek için kaynak koordinat uzayı olarak kullanılır.
  • target_sizes (torch.Tensor veya batch_size uzunluğunda list[tuple[int, int]], isteğe bağlı) — Her görüntü için istenen çıktı (height, width) koordinat uzayı. source_sizes ile birlikte verildiğinde, anahtar nokta koordinatları ve sınırlayıcı kutuları kaynak uzayından hedef uzayına ölçeklenir.

Dönüş değeri

list[list[dict]]

Dıştaki liste görüntülerin, içteki liste ise kişilerin üzerinde döner. Her sözlük şunları içerir:

  • keypoints (torch.Tensor, şekli (num_keypoints, 2)): kaynak görüntü uzayındaki mutlak x/y koordinatları veya target_sizes sağlanırsa hedef uzaydaki koordinatlar.
  • scores (torch.Tensor, şekli (num_keypoints,)): nokta başına güven skoru.
  • labels (torch.LongTensor, şekli (num_keypoints,)): anahtar nokta indeksleri.
  • bbox (torch.Tensor, şekli (4,)): mutlak (x_min, y_min, x_max, y_max) biçiminde, keypoints ile aynı koordinat uzayında sınırlayıcı kutu.

Sapiens2ForPoseEstimation çıktısını görüntü uzayındaki anahtar nokta tahminlerine dönüştürür.

post_process_semantic_segmentation

< >

( outputstarget_sizes: list[tuple] | None = Nonereturn_segmentation_scores: bool = False ) → list[torch.Tensor] or list[SemanticSegmentationPostProcessorOutput]

Parametreler

  • outputs (Sapiens2ForSemanticSegmentation) — Modelin ham çıktıları.
  • target_sizes (list[Tuple], uzunluğu batch_size, isteğe bağlı) — Her tahminin istenen nihai boyutuna (yükseklik, genişlik) karşılık gelen demetlerin listesi. Ayarlanmazsa, tahminler yeniden boyutlandırılmaz.
  • return_segmentation_scores (bool, isteğe bağlı, varsayılan False) — Segmentasyon haritasının yanı sıra segmentasyon puanlarının da döndürülüp döndürülmeyeceğini belirtir. True olduğunda, döndürülen listenin her öğesi segmentation (sınıf kimlikleri, şekil (height, width)) ve segmentation_scores (şekil (num_classes, height, width)) alanlarına sahip bir SemanticSegmentationPostProcessorOutput nesnesidir.

Dönüş değeri

list[torch.Tensor] veya list[SemanticSegmentationPostProcessorOutput]

return_segmentation_scores=False (varsayılan) olduğunda, her öğesi sınıf kimliklerine sahip (height, width) biçiminde bir segmentasyon haritası olan, uzunluğu batch_size olan bir liste döndürülür. return_segmentation_scores=True olduğunda ise segmentation (sınıf kimlikleri, biçim (height, width)) ve segmentation_scores (biçim (num_classes, height, width)) alanlarına sahip SemanticSegmentationPostProcessorOutput nesnelerinden oluşan bir liste döndürülür. Her iki durumda da (height, width), hedef boyuta karşılık gelir (target_sizes belirtilmişse).

Sapiens2ForSemanticSegmentation çıktısını anlamsal segmentasyon haritalarına dönüştürür.

Sapiens2Model

sınıf transformers.Sapiens2Model

< >

( config: Sapiens2Config )

Parametreler

  • config (Sapiens2Config) — 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.

Üzerinde herhangi bir özel head olmadan ham hidden-state çıktısı üreten çıplak Sapiens2 Model.

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: Tensorbool_masked_pos: typing.Optional[torch.Tensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → BaseModelOutputWithPooling or tuple(torch.Tensor)

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 Sapiens2ImageProcessor kullanılarak elde edilebilir. Ayrıntılar için Sapiens2ImageProcessor.call() bölümüne bakın (processor_class, görüntü işleme için Sapiens2ImageProcessor kullanır).
  • bool_masked_pos (torch.BoolTensor, şekli (batch_size, sequence_length), isteğe bağlı) — Boolean maskelenmiş konumlar. Hangi yamaların maskelendiğini (1) ve hangilerinin maskelenmediğini (0) belirtir. Yalnızca ön eğitim için geçerlidir.

Dönüş değeri

BaseModelOutputWithPooling veya tuple(torch.Tensor)

A BaseModelOutputWithPooling veya bir torch.Tensor demeti (eğer return_dict=False geçirildiyse veya config.return_dict=False ise), yapılandırmaya (Sapiens2Config) ve girdilere bağlı olarak çeşitli öğelerden oluşur.

Sapiens2Model forward metodu, __call__ özel metodunu 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.

  • last_hidden_state (torch.Tensor, şekli (batch_size, sequence_length, hidden_size)) — Modelin son katmanının çıktısındaki gizli durumlar dizisi.

  • pooler_output (torch.Tensor, şekli (batch_size, hidden_size)) — Sıranın ilk token'ının (sınıflandırma token'ı) son katman gizli durumu, yardımcı ön eğitim görevi için kullanılan katmanlar üzerinden ek işlemden geçirildikten sonraki hali. Örneğin BERT ailesi modelleri için, bu, sınıflandırma token'ının doğrusal bir katman ve tanh aktivasyon fonksiyonu üzerinden işlenmesinden sonra döndürülen değerdir. Doğrusal katman ağırlıkları, ön eğitim sırasında bir sonraki cümle tahmini (sınıflandırma) hedefinden eğitilir.

  • hidden_states (tuple(torch.Tensor), 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.Tensor (modelin bir gömme katmanı varsa gömme katmanının çıktısı için bir tane + her katmanın çıktısı için birer tane) içeren, (batch_size, sequence_length, hidden_size) biçiminde bir demet.

    Her katmanın çıktısında modelin gizli durumları ve isteğe bağlı başlangıç gömme çıktıları.

  • attentions (tuple(torch.Tensor), isteğe bağlı, output_attentions=True geçirildiğinde veya config.output_attentions=True olduğunda döndürülür) — torch.Tensor (katman başına bir tane) içeren bir tuple, şekli (batch_size, num_heads, sequence_length, sequence_length).

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

Örnek:

>>> from transformers import AutoImageProcessor, AutoModel
>>> from transformers.image_utils import load_image
>>> import torch

>>> image = load_image("http://images.cocodataset.org/val2017/000000004016.jpg")
>>> image_processor = AutoImageProcessor.from_pretrained("facebook/sapiens2-pretrain-0.4b")
>>> model = AutoModel.from_pretrained("facebook/sapiens2-pretrain-0.4b")

>>> inputs = image_processor(images=image, return_tensors="pt")
>>> with torch.inference_mode():
...     outputs = model(**inputs)

>>> cls_token = outputs.pooler_output
>>> cls_token.shape
torch.Size([1, 1024])

Sapiens2Backbone

sınıf transformers.Sapiens2Backbone

< >

( config: Sapiens2Config )

Parametreler

  • config (Sapiens2Config) — 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.

Sapiens2 omurgası.

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'> ) → Sapiens2BackboneOutput or tuple(torch.Tensor)

Parametreler

Dönüş değeri

Sapiens2BackboneOutput veya tuple(torch.Tensor)

Sapiens2BackboneOutput veya bir torch.Tensor demeti (eğer return_dict=False geçirildiyse veya config.return_dict=False ise), yapılandırmaya (Sapiens2Config) ve girdilere bağlı olarak çeşitli öğelerden oluşur.

Sapiens2Backbone forward metodu, __call__ özel metodunu 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.Tensor), şekli (batch_size, num_channels, height, width)) — Aşamaların özellik haritaları.

  • hidden_states (tuple(torch.Tensor), 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.Tensor (gömme çıktısı için bir tane + her katman çıktısı için bir tane) 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.Tensor), isteğe bağlı, output_attentions=True geçirildiğinde veya config.output_attentions=True olduğunda döndürülür) — Şekli (batch_size, num_heads, sequence_length, sequence_length) olan torch.Tensor (her katman için bir tane) içeren bir tuple. 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.

  • cls_tokens (tuple(torch.Tensor), isteğe bağlı) — Seçilen her özellik aşamasından gelen CLS token'ı, her biri (batch_size, hidden_size) biçiminde. Yalnızca config.return_class_token=True olduğunda mevcuttur.

Örnek:

>>> from transformers import AutoBackbone, AutoImageProcessor
>>> from transformers.image_utils import load_image
>>> import torch

>>> image = load_image("http://images.cocodataset.org/val2017/000000004016.jpg")
>>> image_processor = AutoImageProcessor.from_pretrained("facebook/sapiens2-pretrain-0.4b")
>>> model = AutoBackbone.from_pretrained("facebook/sapiens2-pretrain-0.4b")

>>> inputs = image_processor(images=image, return_tensors="pt")
>>> with torch.inference_mode():
...     outputs = model(**inputs, return_class_token=True)

>>> outputs.feature_maps[0].shape
torch.Size([1, 1024, 64, 48])
>>> outputs.cls_tokens[0].shape
torch.Size([1, 1024])

Sapiens2ForImageMatting

sınıf transformers.Sapiens2ForImageMatting

< >

( config: Sapiens2Config )

Parametreler

  • config (Sapiens2Config) — 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.

Üstünde bir matting başlığı bulunan Sapiens2 modeli (ön-çarpmalı RGB ön planı ve alfa matını tahmin eden, PixelShuffle tabanlı bir çözücü).

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: Tensorlabels: typing.Optional[torch.Tensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → Sapiens2ImageMattingOutput or tuple(torch.Tensor)

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 Sapiens2ImageProcessor kullanılarak elde edilebilir. Ayrıntılar için Sapiens2ImageProcessor.call() bölümüne bakın (processor_class, görüntü işleme için Sapiens2ImageProcessor kullanır).
  • labels (torch.Tensor, şekli (batch_size, 4, height, width), isteğe bağlı) — Kayıp (loss) hesaplamak için kullanılan doğru (ground-truth) matting hedefleri.

Dönüş değeri

Sapiens2ImageMattingOutput veya tuple(torch.Tensor)

Sapiens2ImageMattingOutput veya bir torch.Tensor demeti (eğer return_dict=False geçirildiyse veya config.return_dict=False ise), yapılandırmaya (Sapiens2Config) ve girdilere bağlı olarak çeşitli öğelerden oluşur.

Sapiens2ForImageMatting forward metodu, __call__ özel metodunu 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.

  • loss (torch.Tensor, şekli (1,), isteğe bağlı, labels sağlandığında döndürülür) — Kayıp.

  • alphas (torch.Tensor, şekli (batch_size, 1, height, width)) — Tahmini alfa değerleri.

  • hidden_states (tuple(torch.Tensor), 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.Tensor (modelin bir gömme katmanı varsa gömme katmanının çıktısı için bir tane + her aşamanın çıktısı için birer tane) içeren bir tuple, şekli (batch_size, sequence_length, hidden_size). Modelin her aşamanın çıktısındaki gizli durumları (aynı zamanda özellik haritaları olarak da adlandırılır).

  • attentions (tuple[torch.Tensor], isteğe bağlı, output_attentions=True geçirildiğinde veya config.output_attentions=True olduğunda döndürülür) — torch.Tensor (katman başına bir tane) içeren bir tuple, şekli (batch_size, num_heads, sequence_length, sequence_length).

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

  • foregrounds (torch.Tensor, şekli (batch_size, 3, height, width)) — [0, 1] aralığında (sigmoid ile aktive edilmiş) ön çarpılmış RGB ön plan tahminleri.

Örnek:

>>> from transformers import AutoImageProcessor, AutoModel
>>> from transformers.image_utils import load_image
>>> import torch

>>> image = load_image("http://images.cocodataset.org/val2017/000000004016.jpg")
>>> image_processor = AutoImageProcessor.from_pretrained("facebook/sapiens2-matting-1b")
>>> model = AutoModel.from_pretrained("facebook/sapiens2-matting-1b")

>>> inputs = image_processor(image, return_tensors="pt")
>>> with torch.inference_mode():
...     outputs = model(**inputs)

>>> outputs.alphas.shape
torch.Size([1, 1, 1024, 768])
>>> outputs.foregrounds.shape
torch.Size([1, 3, 1024, 768])

Sapiens2ForNormalEstimation

sınıf transformers.Sapiens2ForNormalEstimation

< >

( config: Sapiens2Config )

Parametreler

  • config (Sapiens2Config) — 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.

Üzerinde normal tahmini kafası bulunan Sapiens2 modeli (yüzey normal haritalarını tahmin eden, PixelShuffle tabanlı bir çözücü).

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: Tensorlabels: typing.Optional[torch.Tensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → Sapiens2NormalEstimatorOutput or tuple(torch.Tensor)

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 Sapiens2ImageProcessor kullanılarak elde edilebilir. Ayrıntılar için Sapiens2ImageProcessor.call() bölümüne bakın (processor_class, görüntü işleme için Sapiens2ImageProcessor kullanır).
  • labels (torch.Tensor, şekli (batch_size, num_labels, height, width), isteğe bağlı) — Kayıp (loss) hesaplamak için kullanılan gerçek yüzey normal haritaları.

Dönüş değeri

Sapiens2NormalEstimatorOutput veya tuple(torch.Tensor)

Sapiens2NormalEstimatorOutput veya bir torch.Tensor demeti (eğer return_dict=False geçirildiyse veya config.return_dict=False ise), yapılandırmaya (Sapiens2Config) ve girdilere bağlı olarak çeşitli öğelerden oluşur.

Sapiens2ForNormalEstimation forward metodu, __call__ özel metodunu 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.

  • loss (torch.Tensor, şekli (1,), isteğe bağlı, labels sağlandığında döndürülür) — Normal tahmin kaybı.
  • normals (torch.Tensor, şekli (batch_size, num_labels, height, width)) — Modelin ürettiği ham normal haritası tahminleri (normalize edilmemiş).
  • hidden_states (tuple(torch.Tensor), 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.Tensor (gömme çıktısı için bir tane + her aşamanın çıktısı için bir tane) şeklinde (batch_size, sequence_length, hidden_size) boyutunda bir demet. Her katmanın çıktısında modelin gizli durumları ve başlangıç gömme çıktıları.
  • attentions (tuple(torch.Tensor), isteğe bağlı, output_attentions=True geçirildiğinde veya config.output_attentions=True olduğunda döndürülür) — torch.Tensor (katman başına bir adet) içeren bir tuple, şekli (batch_size, num_heads, sequence_length, sequence_length). Dikkat softmax'ı sonrası dikkat ağırlıkları.

Örnek:

>>> from transformers import AutoImageProcessor, AutoModel
>>> from transformers.image_utils import load_image
>>> import torch

>>> image = load_image("http://images.cocodataset.org/val2017/000000004016.jpg")
>>> image_processor = AutoImageProcessor.from_pretrained("facebook/sapiens2-normal-0.4b")
>>> model = AutoModel.from_pretrained("facebook/sapiens2-normal-0.4b")

>>> inputs = image_processor(image, return_tensors="pt")
>>> with torch.inference_mode():
...     outputs = model(**inputs)

>>> outputs.normals.shape
torch.Size([1, 3, 1024, 768])

Sapiens2ForPointmapEstimation

sınıf transformers.Sapiens2ForPointmapEstimation

< >

( config: Sapiens2Config )

Parametreler

  • config (Sapiens2Config) — 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.

Üzerinde bir pointmap başlığı bulunan Sapiens2 modeli (piksel başına 3B XYZ koordinatlarını tahmin eden, PixelShuffle tabanlı bir çözücü ve odak uzunluğu normalizasyonu için isteğe bağlı bir ölçek dalı).

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: Tensorlabels: typing.Optional[torch.Tensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → Sapiens2PointmapEstimatorOutput or tuple(torch.Tensor)

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 Sapiens2ImageProcessor kullanılarak elde edilebilir. Ayrıntılar için Sapiens2ImageProcessor.call() bölümüne bakın (processor_class, görüntü işleme için Sapiens2ImageProcessor kullanır).
  • labels (torch.Tensor, şekli (batch_size, 3, height, width), isteğe bağlı) — Kayıp (loss) hesaplamak için kullanılan doğru nokta haritası (ground-truth pointmap).

Dönüş değeri

Sapiens2PointmapEstimatorOutput veya tuple(torch.Tensor)

Sapiens2PointmapEstimatorOutput veya bir torch.Tensor demeti (eğer return_dict=False geçirildiyse veya config.return_dict=False ise), yapılandırmaya (Sapiens2Config) ve girdilere bağlı olarak çeşitli öğelerden oluşur.

Sapiens2ForPointmapEstimation forward metodu, __call__ özel metodunu 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.

  • loss (torch.Tensor, şekli (1,), isteğe bağlı, labels sağlandığında döndürülür) — Pointmap tahmin kaybı.
  • pointmaps (torch.Tensor, şekli (batch_size, 3, height, width)) — Kanonik kamera uzayında piksel başına 3B XYZ koordinat tahminleri.
  • scales (torch.Tensor, şekli (batch_size, 1), isteğe bağlı) — Kanonik odak uzaklığı / gerçek odak uzaklığı oranı. Ölçek dalı yapılandırılmamışsa None.
  • hidden_states (tuple(torch.Tensor), 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.Tensor (gömme çıktısı için bir tane + her aşamanın çıktısı için bir tane) şeklinde (batch_size, sequence_length, hidden_size) boyutunda bir demet. Her katmanın çıktısında modelin gizli durumları ve başlangıç gömme çıktıları.
  • attentions (tuple(torch.Tensor), isteğe bağlı, output_attentions=True geçirildiğinde veya config.output_attentions=True olduğunda döndürülür) — torch.Tensor (katman başına bir adet) içeren bir tuple, şekli (batch_size, num_heads, sequence_length, sequence_length). Dikkat softmax'ı sonrası dikkat ağırlıkları.

Örnek:

>>> from transformers import AutoImageProcessor, AutoModel
>>> from transformers.image_utils import load_image
>>> import torch

>>> image = load_image("http://images.cocodataset.org/val2017/000000004016.jpg")
>>> image_processor = AutoImageProcessor.from_pretrained("facebook/sapiens2-pointmap-0.4b")
>>> model = AutoModel.from_pretrained("facebook/sapiens2-pointmap-0.4b")

>>> inputs = image_processor(image, return_tensors="pt")
>>> with torch.inference_mode():
...     outputs = model(**inputs)

>>> outputs.pointmaps.shape
torch.Size([1, 3, 1024, 768])

Sapiens2ForPoseEstimation

sınıf transformers.Sapiens2ForPoseEstimation

< >

( config: Sapiens2Config )

Parametreler

  • config (Sapiens2Config) — 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.

Üstünde bir poz tahmini başlığı (gizli durumların çıktısının üzerine yerleştirilmiş bir ısı haritası öngörücüleri seti) bulunan Sapiens2 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: Tensorflip_pairs: typing.Optional[torch.Tensor] = Nonelabels: typing.Optional[torch.Tensor] = Nonelabel_weights: typing.Optional[torch.Tensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → Sapiens2PoseEstimatorOutput or tuple(torch.Tensor)

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 Sapiens2ImageProcessor kullanılarak elde edilebilir. Ayrıntılar için Sapiens2ImageProcessor.call() bölümüne bakın (processor_class, görüntü işleme için Sapiens2ImageProcessor kullanır).
  • flip_pairs (torch.Tensor, şekli (num_pairs, 2), isteğe bağlı) — Aynalanmış anahtar nokta çiftleri (örneğin, sol kulak — sağ kulak), test zamanı flip artırımında kullanılır. Sağlandığında, model pixel_values'in yatay olarak çevrilmiş görüntüler içerdiğini varsayar ve orijinal yönelimi geri getirmek için çıktı ısı haritalarında flip_back çağırır.
  • labels (torch.Tensor, şekli (batch_size, num_keypoints, height, width), isteğe bağlı) — Kayıp (loss) hesaplamak için kullanılan ısı haritası (heatmap) gerçek değeri.
  • label_weights (torch.Tensor, şekli (batch_size, num_labels, 1, 1) veya (batch_size, num_labels, height, width), isteğe bağlı) — Her anahtar nokta için görünürlük ağırlıkları. labels şeklinle yayınlanabilir (broadcastable) olmalıdır.

Dönüş değeri

Sapiens2PoseEstimatorOutput veya tuple(torch.Tensor)

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

Sapiens2ForPoseEstimation forward metodu, __call__ özel metodunu 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.

  • loss (torch.Tensor, şekli (1,), isteğe bağlı, labels sağlandığında döndürülür) — Poz tahmini kaybı.

  • ısı haritaları (torch.Tensor, şekli (batch_size, num_keypoints, height, width)) — Modelin tahmin ettiği ısı haritaları.

  • hidden_states (tuple(torch.Tensor), 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.Tensor (modelin bir gömme katmanı varsa gömme katmanının çıktısı için bir tane + her aşamanın çıktısı için birer tane) içeren bir tuple, şekli (batch_size, sequence_length, hidden_size). Modelin her aşamanın çıktısındaki gizli durumları (aynı zamanda özellik haritaları olarak da adlandırılır).

  • attentions (tuple[torch.Tensor, ...], isteğe bağlı, output_attentions=True geçirildiğinde veya config.output_attentions=True olduğunda döndürülür) — (batch_size, num_heads, sequence_length, sequence_length) biçiminde, her katman için bir adet içeren torch.Tensor demeti.

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

Örnek:

>>> from transformers import AutoImageProcessor, AutoModel
>>> from transformers.image_utils import load_image
>>> import torch

>>> image = load_image("http://images.cocodataset.org/val2017/000000004016.jpg")
>>> image_processor = AutoImageProcessor.from_pretrained("facebook/sapiens2-pose-0.4b")
>>> model = AutoModel.from_pretrained("facebook/sapiens2-pose-0.4b")

>>> boxes = [[[270.8, 0.6, 294.1, 379.5]]]
>>> inputs = image_processor(image, boxes=boxes, return_tensors="pt")
>>> with torch.inference_mode():
...     outputs = model(**inputs)

>>> outputs.heatmaps.shape
torch.Size([1, 308, 256, 192])

Sapiens2ForSemanticSegmentation

sınıf transformers.Sapiens2ForSemanticSegmentation

< >

( config: Sapiens2Config )

Parametreler

  • config (Sapiens2Config) — 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.

ADE20K, CityScapes gibi veri setleri için üstünde semantik segmentasyon başlığı bulunan Sapiens2 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: Tensorlabels: typing.Optional[torch.LongTensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → SemanticSegmenterOutput or tuple(torch.Tensor)

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 Sapiens2ImageProcessor kullanılarak elde edilebilir. Ayrıntılar için Sapiens2ImageProcessor.call() bölümüne bakın (processor_class, görüntü işleme için Sapiens2ImageProcessor kullanır).
  • labels (torch.LongTensor, şekli (batch_size, height, width), isteğe bağlı) — Kayıp (loss) hesaplamak için kullanılan doğru etiketli semantik segmentasyon haritaları. İndisler [0, ..., config.num_labels - 1] aralığında olmalıdır. config.num_labels > 1 ise, bir sınıflandırma kaybı (Cross-Entropy) hesaplanır.

Dönüş değeri

SemanticSegmenterOutput veya tuple(torch.Tensor)

Bir SemanticSegmenterOutput veya bir torch.Tensor demeti (eğer return_dict=False geçirildiyse veya config.return_dict=False ise), yapılandırmaya (Sapiens2Config) ve girdilere bağlı olarak çeşitli öğelerden oluşur.

Sapiens2ForSemanticSegmentation forward metodu, __call__ özel metodunu 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.

  • loss (torch.Tensor, şekli (1,), isteğe bağlı, labels sağlandığında döndürülür) — Sınıflandırma (config.num_labels==1 ise regresyon) kaybı.

  • logits (torch.Tensor, şekli (batch_size, config.num_labels, logits_height, logits_width)) — Her piksel için sınıflandırma puanları.

    Döndürülen logits değerleri, girdi olarak geçirilen pixel_values ile aynı boyutta olmak zorunda değildir. Bu, bir kullanıcının logits değerlerini son işlem olarak orijinal görüntü boyutuna yeniden boyutlandırmak istediğinde iki kez interpolasyon yapılarak bazı kalite kayıpları yaşanmasını önlemek içindir. Logits şeklinizi her zaman kontrol etmeli ve gerektiğinde yeniden boyutlandırmalısınız.

  • hidden_states (tuple(torch.Tensor), 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.Tensor (modelin bir gömme katmanı varsa gömme katmanının çıktısı için bir tane + her katmanın çıktısı için birer tane) içeren, (batch_size, patch_size, hidden_size) biçiminde bir demet.

    Her katmanın çıktısında modelin gizli durumları ve isteğe bağlı başlangıç gömme çıktıları.

  • attentions (tuple(torch.Tensor), isteğe bağlı, output_attentions=True geçirildiğinde veya config.output_attentions=True olduğunda döndürülür) — torch.Tensor (katman başına bir tane) içeren bir tuple, şekli (batch_size, num_heads, patch_size, sequence_length).

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

Örnek:

>>> from transformers import AutoImageProcessor, AutoModel
>>> from transformers.image_utils import load_image
>>> import torch

>>> image = load_image("http://images.cocodataset.org/val2017/000000004016.jpg")
>>> image_processor = AutoImageProcessor.from_pretrained("facebook/sapiens2-seg-0.4b")
>>> model = AutoModel.from_pretrained("facebook/sapiens2-seg-0.4b")

>>> inputs = image_processor(image, return_tensors="pt")
>>> with torch.inference_mode():
...     outputs = model(**inputs)

>>> outputs.logits.shape
torch.Size([1, 29, 1024, 768])
Update on GitHub