Transformers documentation

OneFormer

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 2022-11-10 tarihinde HF papers'ta yayımlandı ve 2023-01-19 tarihinde Hugging Face Transformers'a katkıda bulunuldu.

OneFormer

Genel Bakış

OneFormer modeli, Jitesh Jain, Jiachen Li, MangTik Chiu, Ali Hassani, Nikita Orlov ve Humphrey Shi tarafından OneFormer: One Transformer to Rule Universal Image Segmentation makalesinde önerilmiştir. OneFormer, tek bir panoptik veri setinde eğitilerek semantik, örnek ve panoptik segmentasyon görevlerini gerçekleştirebilen evrensel bir görüntü segmentasyon çerçevesidir. OneFormer, modeli odaklanılan göreve göre koşullandırmak için bir görev belirteci (task token) kullanır; bu sayede mimari eğitim için görev yönlendirmeli, çıkarım için ise görev dinamik hale gelir.

Makalenin özeti aşağıdaki gibidir:

Evrensel Görüntü Segmentasyonu yeni bir kavram değildir. Son on yıllarda görüntü segmentasyonunu birleştirmeye yönelik geçmiş denemeler arasında sahne ayrıştırma, panoptik segmentasyon ve daha yakın zamanda yeni panoptik mimariler yer almaktadır. Ancak bu tür panoptik mimariler, en iyi performansı elde etmek için semantik, örnek veya panoptik segmentasyon üzerinde ayrı ayrı eğitilmeleri gerektiğinden görüntü segmentasyonunu gerçekten birleştirmemektedir. İdeal olarak, gerçek anlamda evrensel bir çerçeve yalnızca bir kez eğitilmeli ve üç görüntü segmentasyon görevinin tamamında SOTA performansına ulaşmalıdır. Bu amaçla, segmentasyonu çok görevli bir kez eğit (train-once) tasarımıyla birleştiren evrensel bir görüntü segmentasyon çerçevesi olan OneFormer'ı öneriyoruz. Öncelikle, her alanın (semantik, örnek ve panoptik segmentasyon) yer doğrularını (ground truth) tek bir çok görevli eğitim süreci içinde eğitmeyi mümkün kılan, görev koşullu ortak bir eğitim stratejisi öneriyoruz. İkinci olarak, modelimizi ele alınan göreve göre koşullandırmak için bir görev belirteci (task token) sunuyoruz; bu sayede modelimiz çok görevli eğitim ve çıkarımı destekleyecek şekilde görev-dinamik (task-dynamic) hale geliyor. Üçüncü olarak, eğitim sırasında görevler arası ve sınıflar arası daha iyi ayrımlar kurmak için sorgu-metin karşıtlık kaybının (query-text contrastive loss) kullanılmasını öneriyoruz. Belirgin bir şekilde, tek bir OneFormer modelimiz, ADE20k, CityScapes ve COCO üzerinde üç segmentasyon görevinin tamamında, her bir görev için üç kat daha fazla kaynakla ayrı ayrı eğitilmiş uzmanlaşmış Mask2Former modellerini geride bırakmaktadır. Yeni ConvNeXt ve DiNAT omurgaları (backbone) ile daha da fazla performans artışı gözlemliyoruz. OneFormer'ın, görüntü segmentasyonunu daha evrensel ve erişilebilir hale getirme yolunda önemli bir adım olduğuna inanıyoruz.

Aşağıdaki şekil, OneFormer mimarisini göstermektedir. orijinal makale'den alınmıştır.

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

Kullanım ipuçları

  • OneFormer, çıkarım sırasında iki girdi gerektirir: image ve task token.
  • Eğitim sırasında OneFormer yalnızca panoptik etiketleri kullanır.
  • Modeli birden fazla düğüm arasında dağıtık bir ortamda eğitmek istiyorsanız, modeling_oneformer.py içindeki OneFormerLoss sınıfındaki get_num_masks fonksiyonunu güncellemeniz gerekir. Birden fazla düğümde eğitim sırasında bu değer, burada görülebileceği gibi, tüm düğümler arasındaki hedef maskelerin ortalama sayısına ayarlanmalıdır.
  • OneFormerProcessor sınıfı, model için giriş görsellerini ve görev girdilerini, ayrıca isteğe bağlı hedefleri hazırlamak için kullanılabilir. OneFormerProcessor, OneFormerImageProcessor ve CLIPTokenizer sınıflarını tek bir örnekte birleştirerek hem görselleri hazırlar hem de görev girdilerini kodlar.
  • Görevin türüne bağlı olarak nihai segmentasyonu almak için post_process_semantic_segmentation() veya post_process_instance_segmentation() ya da post_process_panoptic_segmentation() çağrılabilir. OneFormerForUniversalSegmentation çıktısı kullanılarak üç görevin de çözülebilir; panoptik segmentasyon, hedef nesne/nesnelerin (ör. gökyüzü) örneklerini birleştirmek için isteğe bağlı label_ids_to_fuse argümanını kabul eder.

Kaynaklar

OneFormer ile başlamanıza yardımcı olmak için resmi Hugging Face ve topluluk (🌎 ile belirtilen) kaynaklarının listesi.

  • Özel verilerde çıkarım + ince ayar hakkında demo defterleri burada bulunabilir.

Buraya bir kaynak eklemek isterseniz, bir Pull Request açmaktan çekinmeyin; inceleyeceğiz. Kaynağın, mevcut bir kaynağı tekrarlamak yerine ideal olarak yeni bir şeyi göstermesi beklenir.

OneFormer'e özgü çıktılar

sınıf transformers.models.oneformer.modeling_oneformer.OneFormerModelOutput

< >

( encoder_hidden_states: tuple[torch.FloatTensor] | None = Nonepixel_decoder_hidden_states: tuple[torch.FloatTensor] | None = Nonetransformer_decoder_hidden_states: typing.Optional[torch.FloatTensor] = Nonetransformer_decoder_object_queries: typing.Optional[torch.FloatTensor] = Nonetransformer_decoder_contrastive_queries: typing.Optional[torch.FloatTensor] = Nonetransformer_decoder_mask_predictions: typing.Optional[torch.FloatTensor] = Nonetransformer_decoder_class_predictions: typing.Optional[torch.FloatTensor] = Nonetransformer_decoder_auxiliary_predictions: tuple[dict[str, torch.FloatTensor]] | None = Nonetext_queries: typing.Optional[torch.FloatTensor] = Nonetask_token: typing.Optional[torch.FloatTensor] = Noneattentions: tuple[torch.FloatTensor] | None = None )

Parametreler

  • encoder_hidden_states (tuple(torch.FloatTensor), opsiyonel, 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 aşamanın çıktısı için bir adet) içeren bir tuple, şekli (batch_size, num_channels, height, width). Kodlayıcı modelinin her aşamanın çıktısındaki gizli durumları (aynı zamanda özellik haritaları olarak da adlandırılır).
  • pixel_decoder_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 aşamanın çıktısı için bir adet) içeren bir tuple, şekli (batch_size, num_channels, height, width). Piksel çözücü modelinin her aşamanın çıktısındaki gizli durumları (aynı zamanda özellik haritaları olarak da adlandırılır).
  • transformer_decoder_hidden_states (tuple(torch.FloatTensor), opsiyonel, 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 aşamanın çıktısı için bir adet) içeren bir tuple, şekli (batch_size, sequence_length, hidden_size). Transformer decoder'ın her aşamanın çıktısındaki gizli durumları (aynı zamanda özellik haritaları olarak da adlandırılır).
  • transformer_decoder_object_queries (torch.FloatTensor, şekli (batch_size, num_queries, hidden_dim)) — Transformer decoder'ın son katmanından gelen çıktı nesne sorguları.
  • transformer_decoder_contrastive_queries (torch.FloatTensor, şekli (batch_size, num_queries, hidden_dim)) — Transformer çözücüden gelen kontrastif sorgular.
  • transformer_decoder_mask_predictions (torch.FloatTensor, şekli (batch_size, num_queries, height, width)) — Transformer decoder'ın son katmanından gelen mask tahminleri.
  • transformer_decoder_class_predictions (torch.FloatTensor, şekli (batch_size, num_queries, num_classes+1)) — Transformer decoder'ın son katmanından gelen sınıf tahminleri.
  • transformer_decoder_auxiliary_predictions (Tuple of Dict of str, torch.FloatTensor, opsiyonel) — Transformer decoder'ın her katmanından gelen sınıf ve maske tahminlerinin tuple'ı.
  • text_queries (torch.FloatTensor, isteğe bağlı, şekli (batch_size, num_queries, hidden_dim)) — Eğitim sırasında kontrastif kaybın hesaplanmasında kullanılan, girdi metin listesinden türetilen metin sorguları.
  • task_token (torch.FloatTensor, şekli (batch_size, hidden_dim)) — Sorguları koşullandırmak için kullanılan 1B görev belirteci.
  • attentions (tuple(tuple(torch.FloatTensor)), opsiyonel, output_attentions=True geçirildiğinde veya config.output_attentions=True olduğunda döndürülür) — Her katman için bir adet tuple(torch.FloatTensor) içeren, (batch_size, num_heads, sequence_length, sequence_length) biçiminde bir tuple. Transformer decoder'dan Self ve Cross Attention ağırlıkları.

OneFormerModel çıktılarının sınıfı. Bu sınıf, logitleri hesaplamak için gereken tüm gizli durumları döndürür.

sınıf transformers.models.oneformer.modeling_oneformer.OneFormerForUniversalSegmentationOutput

< >

( loss: typing.Optional[torch.FloatTensor] = Noneclass_queries_logits: typing.Optional[torch.FloatTensor] = Nonemasks_queries_logits: typing.Optional[torch.FloatTensor] = Noneauxiliary_predictions: list = Noneencoder_hidden_states: tuple[torch.FloatTensor] | None = Nonepixel_decoder_hidden_states: list[torch.FloatTensor] | None = Nonetransformer_decoder_hidden_states: typing.Optional[torch.FloatTensor] = Nonetransformer_decoder_object_queries: typing.Optional[torch.FloatTensor] = Nonetransformer_decoder_contrastive_queries: typing.Optional[torch.FloatTensor] = Nonetransformer_decoder_mask_predictions: typing.Optional[torch.FloatTensor] = Nonetransformer_decoder_class_predictions: typing.Optional[torch.FloatTensor] = Nonetransformer_decoder_auxiliary_predictions: list[dict[str, torch.FloatTensor]] | None = Nonetext_queries: typing.Optional[torch.FloatTensor] = Nonetask_token: typing.Optional[torch.FloatTensor] = Noneattentions: tuple[tuple[torch.FloatTensor]] | None = None )

Parametreler

  • loss (torch.Tensor, opsiyonel) — Etiketler mevcut olduğunda döndürülen hesaplanan kayıp.
  • class_queries_logits (torch.FloatTensor, isteğe bağlı) — Her sorgu için önerilen sınıfları temsil eden, (batch_size, num_queries, num_labels + 1) biçiminde bir tensör. + 1'in, null sınıfını dahil ettiğimiz için gerekli olduğunu unutmayın.
  • masks_queries_logits (torch.FloatTensor, opsiyonel) — Her sorgu için önerilen maskeleri temsil eden, (batch_size, num_queries, height, width) biçiminde bir tensör.
  • auxiliary_predictions (List of Dict of str, torch.FloatTensor, isteğe bağlı) — Transformer decoder'ın her katmanından gelen sınıf ve maske tahminlerinin listesi.
  • encoder_hidden_states (tuple(torch.FloatTensor), opsiyonel, 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 aşamanın çıktısı için bir adet) içeren bir tuple, şekli (batch_size, num_channels, height, width). Kodlayıcı modelinin her aşamanın çıktısındaki gizli durumları (aynı zamanda özellik haritaları olarak da adlandırılır).
  • pixel_decoder_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 aşamanın çıktısı için bir adet) içeren bir tuple, şekli (batch_size, num_channels, height, width). Piksel çözücü modelinin her aşamanın çıktısındaki gizli durumları (aynı zamanda özellik haritaları olarak da adlandırılır).
  • transformer_decoder_hidden_states (tuple(torch.FloatTensor), opsiyonel, 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 aşamanın çıktısı için bir adet) içeren bir tuple, şekli (batch_size, sequence_length, hidden_size). Transformer decoder'ın her aşamanın çıktısındaki gizli durumları (aynı zamanda özellik haritaları olarak da adlandırılır).
  • transformer_decoder_object_queries (torch.FloatTensor, şekli (batch_size, num_queries, hidden_dim)) — Transformer decoder'ın son katmanından gelen çıktı nesne sorguları.
  • transformer_decoder_contrastive_queries (torch.FloatTensor, şekli (batch_size, num_queries, hidden_dim)) — Transformer çözücüden gelen kontrastif sorgular.
  • transformer_decoder_mask_predictions (torch.FloatTensor, şekli (batch_size, num_queries, height, width)) — Transformer decoder'ın son katmanından gelen mask tahminleri.
  • transformer_decoder_class_predictions (torch.FloatTensor, şekli (batch_size, num_queries, num_classes+1)) — Transformer decoder'ın son katmanından gelen sınıf tahminleri.
  • transformer_decoder_auxiliary_predictions (List of Dict of str, torch.FloatTensor, isteğe bağlı) — Transformer decoder'ın her katmanından gelen sınıf ve maske tahminlerinin listesi.
  • text_queries (torch.FloatTensor, isteğe bağlı, şekli (batch_size, num_queries, hidden_dim)) — Eğitim sırasında kontrastif kaybın hesaplanmasında kullanılan, girdi metin listesinden türetilen metin sorguları.
  • task_token (torch.FloatTensor, şekli (batch_size, hidden_dim)) — Sorguları koşullandırmak için kullanılan 1B görev belirteci.
  • attentions (tuple(tuple(torch.FloatTensor)), opsiyonel, output_attentions=True geçirildiğinde veya config.output_attentions=True olduğunda döndürülür) — Her katman için bir adet tuple(torch.FloatTensor) içeren, (batch_size, num_heads, sequence_length, sequence_length) biçiminde bir tuple. Transformer decoder'dan Self ve Cross Attention ağırlıkları.

OneFormerForUniversalSegmentationOutput çıktılarının sınıfı.

Bu çıktı, görevine bağlı olarak doğrudan post_process_semantic_segmentation() veya post_process_instance_segmentation() veya post_process_panoptic_segmentation() işlevlerine aktarılabilir. Kullanımına ilişkin ayrıntılar için lütfen [`~OneFormerImageProcessor] sayfasına bakın.

OneFormerConfig

sınıf transformers.OneFormerConfig

< >

( 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 = Noneignore_value: int = 255num_queries: int = 150no_object_weight: float = 0.1class_weight: float = 2.0mask_weight: float = 5.0dice_weight: float = 5.0contrastive_weight: float = 0.5contrastive_temperature: float = 0.07train_num_points: int = 12544oversample_ratio: float = 3.0importance_sample_ratio: float = 0.75init_std: float = 0.02init_xavier_std: float = 1.0layer_norm_eps: float = 1e-05is_training: bool = Falseuse_auxiliary_loss: bool = Trueoutput_auxiliary_logits: bool = Truestrides: list[int] | tuple[int, ...] = (4, 8, 16, 32)task_seq_len: int = 77text_encoder_width: int = 256text_encoder_context_length: int = 77text_encoder_num_layers: int = 6text_encoder_vocab_size: int = 49408text_encoder_proj_layers: int = 2text_encoder_n_ctx: int = 16conv_dim: int = 256mask_dim: int = 256hidden_dim: int = 256encoder_feedforward_dim: int = 1024norm: str = 'GN'encoder_layers: int = 6decoder_layers: int = 10use_task_norm: bool = Truenum_attention_heads: int = 8dropout: float | int = 0.1dim_feedforward: int = 2048pre_norm: bool = Falseenforce_input_proj: bool = Falsequery_dec_layers: int = 2common_stride: int = 4 )

Parametreler

  • backbone_config (Union[dict, ~configuration_utils.PreTrainedConfig], isteğe bağlı) — Backbone modelinin yapılandırması.
  • ignore_value (int, isteğe bağlı, varsayılan 255) — Kayıp (loss) hesaplanırken GT etiketinde yok sayılacak değerler.
  • num_queries (int, isteğe bağlı, varsayılan 150) — Nesne sorgusu sayısı.
  • no_object_weight (float, isteğe bağlı, varsayılan 0.1) — Nesne algılama kaybında nesne-olmayan sınıfın göreli sınıflandırma ağırlığı.
  • class_weight (float, isteğe bağlı, varsayılan 2.0) — Macar eşleştirme maliyetinde sınıflandırma hatasının göreli ağırlığı.
  • mask_weight (float, isteğe bağlı, varsayılan 5.0) — Panoptik segmentasyon kaybında odak kaybının göreli ağırlığı.
  • dice_weight (float, isteğe bağlı, varsayılan 5.0) — Panoptik segmentasyon kaybında dice kaybının göreli ağırlığı.
  • contrastive_weight (float, isteğe bağlı, varsayılan 0.5) — Karşıtlık kaybı için ağırlık.
  • contrastive_temperature (float, isteğe bağlı, varsayılan 0.07) — Karşıtlık logitlerini ölçeklemek için başlangıç değeri.
  • train_num_points (int, isteğe bağlı, varsayılan 12544) — Mask tahminlerinde kayıplar hesaplanırken örneklenen nokta sayısı.
  • oversample_ratio (float, isteğe bağlı, varsayılan 3.0) — Aşırı örneklemeye alınacak nokta sayısını belirlemek için oran.
  • importance_sample_ratio (float, isteğe bağlı, varsayılan 0.75) — Önem örneklemesi yoluyla örneklenen noktaların oranı.
  • init_std (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ı.
  • init_xavier_std (float, isteğe bağlı, varsayılan 1.0) — Çapraz dikkat ağırlıklarının Xavier başlatılmasında kullanılan ölçekleme faktörü.
  • layer_norm_eps (float, isteğe bağlı, varsayılan 1e-05) — Katman normalizasyon katmanları tarafından kullanılan epsilon.
  • is_training (bool, isteğe bağlı, varsayılan False) — Eğitim mi yoksa çıkarım modunda mı çalışılacağı.
  • use_auxiliary_loss (bool, isteğe bağlı, varsayılan True) — Transformer decoder'ın ara tahminlerini kullanarak kayıp hesaplanıp hesaplanmayacağı.
  • output_auxiliary_logits (bool, isteğe bağlı, varsayılan True) — Transformer decoder'dan ara tahminlerin döndürülüp döndürülmeyeceğini belirtir.
  • strides (list, optional, defaults to [4, 8, 16, 32]) — List containing the strides for feature maps in the encoder.
  • task_seq_len (int, isteğe bağlı, varsayılan 77) — Metin listesi girdisini belirginleştirmek için dizi uzunluğu.
  • text_encoder_width (int, isteğe bağlı, varsayılan 256) — Metin kodlayıcısı için gizli boyut.
  • text_encoder_context_length (int, isteğe bağlı, varsayılan 77) — Metin kodlayıcısı için girdi dizisi uzunluğu.
  • text_encoder_num_layers (int, isteğe bağlı, varsayılan 6) — Metin kodlayıcıdaki dönüştürücünün katman sayısı.
  • text_encoder_vocab_size (int, isteğe bağlı, varsayılan 49408) — Tokenizör için sözlük boyutu.
  • text_encoder_proj_layers (int, isteğe bağlı, varsayılan 2) — Metin sorgularını projekte etmek için MLP'deki katman sayısı.
  • text_encoder_n_ctx (int, isteğe bağlı, varsayılan 16) — Öğrenilebilir metin bağlam sorgularının sayısı.
  • conv_dim (int, isteğe bağlı, varsayılan 256) — Backbone'dan gelen çıktıları eşlemek için özellik haritası boyutu.
  • mask_dim (int, isteğe bağlı, varsayılan 256) — Piksel çözücüdeki özellik haritaları için boyut.
  • hidden_dim (int, isteğe bağlı, varsayılan 256) — Transformer decoder'de gizli durumlar için boyut.
  • encoder_feedforward_dim (int, isteğe bağlı, varsayılan 1024) — Piksel çözücüdeki FFN katmanı için boyut.
  • norm (str, isteğe bağlı, varsayılan "GN") — Normalizasyon türü.
  • encoder_layers (int, isteğe bağlı, varsayılan 6) — Transformer kodlayıcısındaki gizli katman sayısı. Ayarlanmazsa num_layers ile aynı değeri kullanır.
  • decoder_layers (int, isteğe bağlı, varsayılan 10) — Transformer decoder'ındaki gizli katman sayısı. Ayarlanmazsa num_layers ile aynı değeri kullanır.
  • use_task_norm (bool, isteğe bağlı, varsayılan True) — Görev token'ının normalize edilip edilmeyeceğini belirtir.
  • num_attention_heads (int, isteğe bağlı, varsayılan 8) — Transformer decoder'ındaki her dikkat katmanı için dikkat başı sayısı.
  • dropout (Union[float, int], isteğe bağlı, varsayılan 0.1) — Tüm dropout katmanları için oran.
  • dim_feedforward (int, isteğe bağlı, varsayılan 2048) — Transformer decoder'daki FFN katmanı için boyut.
  • pre_norm (bool, isteğe bağlı, varsayılan False) — Transformer decoder'de dikkat katmanlarından önce gizli durumların normalize edilip edilmeyeceğini belirtir.
  • enforce_input_proj (bool, isteğe bağlı, varsayılan False) — Transformer decoder'de gizli durumların projekte edilip edilmeyeceğini belirtir.
  • query_dec_layers (int, isteğe bağlı, varsayılan 2) — Query dönüştürücüsündeki katman sayısı.
  • common_stride (int, isteğe bağlı, varsayılan 4) — Piksel çözücüde özellikler için kullanılan ortak adım.

Bu, bir OneFormerModel'in yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Oneformer modelini örneklemek ve model mimarisini tanımlamak için kullanılır. Varsayılan değerlerle bir yapılandırma örneği oluşturmak, shi-labs/oneformer_ade20k_swin_tiny modelinin yapılandırmasına benzer bir yapılandırma elde edilmesini sağlar.

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.

Örnekler:

>>> from transformers import OneFormerConfig, OneFormerModel

>>> # Initializing a OneFormer shi-labs/oneformer_ade20k_swin_tiny configuration
>>> configuration = OneFormerConfig()
>>> # Initializing a model (with random weights) from the shi-labs/oneformer_ade20k_swin_tiny style configuration
>>> model = OneFormerModel(configuration)
>>> # Accessing the model configuration
>>> configuration = model.config

OneFormerImageProcessor

sınıf transformers.OneFormerImageProcessor

< >

( **kwargs: *<class 'transformers.models.oneformer.image_processing_oneformer.OneFormerImageProcessorKwargs'> )

Parametreler

  • do_convert_rgb (bool, kwargs, opsiyonel, varsayılan True) — 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 {'shortest_edge' -- 800, 'longest_edge': 1333}): Modelin kabul ettiği maksimum giriş boyutlarını açıklar.
  • default_to_square (bool, kwargs, isteğe bağlı, varsayılan False) — 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) — 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) — 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.
  • repo_path (str, kwargs, opsiyonel, varsayılan shi-labs/oneformer_demo) — Model metadata içeren yerel bir dizinin veya HuggingFace Hub deposunun yolu.
  • class_info_file (str, kwargs, opsiyonel) — Depoda sınıf meta verilerini içeren JSON dosyasının yolu.
  • num_text (int, kwargs, opsiyonel) — Metin kodlayıcı için metin sorgusu sayısı, görev yönlendirmesi olarak kullanılan istemler.
  • num_labels (int, kwargs, opsiyonel) — Segmentasyon için sınıfsal sınıfların sayısı, çıktı katmanının boyutunu belirler.
  • ignore_index (int, kwargs, opsiyonel) — Segmentasyon haritalarında yok sayılacak etiket, genellikle dolgu (padding) için kullanılır.
  • do_reduce_labels (bool, kwargs, opsiyonel, varsayılan False) — Tüm etiket değerlerini 1 azaltarak arka plan sınıfını ignore_index değerine eşleyip eşlemeyeceğini belirtir.

Bir OneFormerImageProcessor 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']]task_inputs: list[str] | None = Nonesegmentation_maps: typing.Union[ForwardRef('PIL.Image.Image'), numpy.ndarray, ForwardRef('torch.Tensor'), list['PIL.Image.Image'], list[numpy.ndarray], list['torch.Tensor'], NoneType] = Noneinstance_id_to_semantic_id: list[dict[int, int]] | dict[int, int] | None = None**kwargs: *<class 'transformers.models.oneformer.image_processing_oneformer.OneFormerImageProcessorKwargs'> ) → ~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.
  • task_inputs (list[str], isteğe bağlı) — Toplumdaki her görüntü için görevlerin listesi ("panoptic", "instance", "semantic").
  • segmentation_maps (ImageInput, isteğe bağlı) — Segmentasyon haritaları.
  • instance_id_to_semantic_id (Union[list[dict[int, int]], dict[int, int]], isteğe bağlı) — Örnek kimliklerinden anlamsal kimliklere bir eşleme.
  • 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.
  • repo_path (str, kwargs, opsiyonel, varsayılan shi-labs/oneformer_demo) — Model metadata içeren yerel bir dizinin veya HuggingFace Hub deposunun yolu.
  • class_info_file (str, kwargs, opsiyonel) — Depoda sınıf meta verilerini içeren JSON dosyasının yolu.
  • num_text (int, kwargs, opsiyonel) — Metin kodlayıcı için metin sorgusu sayısı, görev yönlendirmesi olarak kullanılan istemler.
  • num_labels (int, kwargs, opsiyonel) — Segmentasyon için sınıfsal sınıfların sayısı, çıktı katmanının boyutunu belirler.
  • ignore_index (int, kwargs, opsiyonel) — Segmentasyon haritalarında yok sayılacak etiket, genellikle dolgu (padding) için kullanılır.
  • do_reduce_labels (bool, kwargs, opsiyonel, varsayılan False) — Tüm etiket değerlerini 1 azaltarak arka plan sınıfını ignore_index değerine eşleyip eşlemeyeceğini belirtir.

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_semantic_segmentation

< >

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

Parametreler

  • outputs (OneFormerForUniversalSegmentation) — Modelin ham çıktıları.
  • target_sizes (list[tuple[int, int]], isteğe bağlı) — Uzunluğu (batch_size) olan bir liste; listenin her öğesi (Tuple[int, int]]), ilgili tahminin istenen nihai boyutunu (yükseklik, genişlik) temsil eder. None olarak bırakılırsa, 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).

OneFormerForUniversalSegmentation çıktısını anlamsal segmentasyon haritalarına dönüştürür. Yalnızca PyTorch desteklenir.

post_process_instance_segmentation

< >

( outputstask_type: str = 'instance'is_demo: bool = Truethreshold: float = 0.5mask_threshold: float = 0.5overlap_mask_area_threshold: float = 0.8target_sizes: list[tuple[int, int]] | None = Nonereturn_coco_annotation: bool | None = False ) → List[Dict]

Parametreler

  • outputs (OneFormerForUniversalSegmentationOutput) — OneFormerForUniversalSegmentationOutput çıktısı.
  • task_type (str, isteğe bağlı, varsayılan “instance”) — Son işleme, görev belirteç girdisine bağlıdır. task_type “panoptic” ise, stuff tahminlerini yok saymamız gerekir.
  • is_demo (bool, isteğe bağlı, varsayılan True) — Modelin demo modunda olup olmadığı. Doğruysa, son maskeleri tahmin etmek için eşik değeri kullanılır.
  • threshold (float, isteğe bağlı, varsayılan 0.5) — Tahmin edilen örnek maskelerini tutmak için olasılık puanı eşiği.
  • mask_threshold (float, isteğe bağlı, varsayılan 0.5) — Tahmin edilen maskelerin ikili değerlere dönüştürülürken kullanılacak eşik.
  • overlap_mask_area_threshold (float, isteğe bağlı, varsayılan 0.8) — Her ikili örnek maskesi içindeki küçük kopuk parçaları birleştirmek veya atmak için kullanılan örtüşme maskesi alan eşiği.
  • target_sizes (List[Tuple], isteğe bağlı) — Uzunluğu (batch_size) olan bir liste; listenin her öğesi (Tuple[int, int]]), batch içindeki her tahminin istenen nihai boyutuna (yükseklik, genişlik) karşılık gelir. None olarak bırakılırsa, tahminler yeniden boyutlandırılmaz.
  • return_coco_annotation (bool, isteğe bağlı, varsayılan False) — Tahminlerin COCO biçiminde döndürülüp döndürülmeyeceğini belirtir.

Dönüş değeri

List[Dict]

Her biri bir görüntüye ait olan ve her biri iki anahtar içeren sözlüklerden oluşan bir liste:

  • segmentation — her pikselin bir segment_id temsil ettiği, (height, width) biçiminde bir tensör; threshold üzerinde bir maske bulunamazsa None olarak ayarlanır. target_sizes belirtilirse, segmentation, target_sizes girdisine göre yeniden boyutlandırılır.
  • segments_info — Her segment hakkında ek bilgiler içeren bir sözlük.
    • id — segment_id'yi temsil eden bir tamsayır.
    • label_id — segment_id ile eşleşen etiket / semantik sınıf kimliğini temsil eden bir tamsayır.
    • was_fused — bir boole değeri, label_id label_ids_to_fuse içindeyse True, aksi halde False. Aynı sınıfın / etiketin birden fazla örneği birleştirildi ve tek bir segment_id atandı.
    • score — segment_id ile segmentin tahmin skoru.

OneFormerForUniversalSegmentationOutput çıktısını görüntü örneği segmentasyonu tahminlerine dönüştürür. Yalnızca PyTorch desteklenir.

post_process_panoptic_segmentation

< >

( outputsthreshold: float = 0.5mask_threshold: float = 0.5overlap_mask_area_threshold: float = 0.8label_ids_to_fuse: set[int] | None = Nonetarget_sizes: list[tuple[int, int]] | None = None ) → list[Dict]

Parametreler

  • outputs (MaskFormerForInstanceSegmentationOutput) — MaskFormerForInstanceSegmentation sınıfının çıktıları.
  • threshold (float, isteğe bağlı, varsayılan 0.5) — Tahmin edilen örnek maskelerini tutmak için olasılık puanı eşiği.
  • mask_threshold (float, isteğe bağlı, varsayılan 0.5) — Tahmin edilen maskelerin ikili değerlere dönüştürülürken kullanılacak eşik.
  • overlap_mask_area_threshold (float, isteğe bağlı, varsayılan 0.8) — Her ikili örnek maskesi içindeki küçük kopuk parçaları birleştirmek veya atmak için kullanılan örtüşme maskesi alan eşiği.
  • label_ids_to_fuse (Set[int], isteğe bağlı) — Bu durumdaki etiketlerin tüm örnekleri birleştirilecektir. Örneğin bir görüntüde yalnızca bir gökyüzü, ancak birden fazla kişi olabileceğini söyleyebiliriz; bu nedenle gökyüzü için etiket kimliği bu kümede yer alırken, kişi için olan yer almaz.
  • target_sizes (list[Tuple], isteğe bağlı) — Uzunluğu (batch_size) olan bir liste; listenin her öğesi (tuple[int, int]]), batch içindeki her tahminin istenen nihai boyutuna (yükseklik, genişlik) karşılık gelir. None olarak bırakılırsa, tahminler yeniden boyutlandırılmaz.

Dönüş değeri

list[Dict]

Her biri bir görüntüye ait olan ve her biri iki anahtar içeren sözlüklerden oluşan bir liste:

  • segmentation — her pikselin bir segment_id temsil ettiği, (height, width) biçiminde bir tensör; threshold üzerinde bir maske bulunamazsa None olarak ayarlanır. target_sizes belirtilirse, segmentation, target_sizes girdisine göre yeniden boyutlandırılır.
  • segments_info — Her segment hakkında ek bilgiler içeren bir sözlük.
    • id — segment_id'yi temsil eden bir tamsayır.
    • label_id — segment_id ile eşleşen etiket / semantik sınıf kimliğini temsil eden bir tamsayır.
    • was_fused — bir boole değeri, label_id label_ids_to_fuse içindeyse True, aksi halde False. Aynı sınıfın / etiketin birden fazla örneği birleştirildi ve tek bir segment_id atandı.
    • score — segment_id ile segmentin tahmin skoru.

MaskFormerForInstanceSegmentationOutput çıktısını görüntü panotik segmentasyon tahminlerine dönüştürür. Yalnızca PyTorch desteklenir.

OneFormerImageProcessorPil

sınıf transformers.OneFormerImageProcessorPil

< >

( **kwargs: *<class 'transformers.models.oneformer.image_processing_pil_oneformer.OneFormerImageProcessorKwargs'> )

Parametreler

  • do_convert_rgb (bool, kwargs, opsiyonel, varsayılan True) — 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 {'shortest_edge' -- 800, 'longest_edge': 1333}): Modelin kabul ettiği maksimum giriş boyutlarını açıklar.
  • default_to_square (bool, kwargs, isteğe bağlı, varsayılan False) — 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) — 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) — 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.
  • repo_path (str, kwargs, opsiyonel, varsayılan shi-labs/oneformer_demo) — Model metadata içeren yerel bir dizinin veya HuggingFace Hub deposunun yolu.
  • class_info_file (str, kwargs, opsiyonel) — Depoda sınıf meta verilerini içeren JSON dosyasının yolu.
  • num_text (int, kwargs, opsiyonel) — Metin kodlayıcı için metin sorgusu sayısı, görev yönlendirmesi olarak kullanılan istemler.
  • num_labels (int, kwargs, opsiyonel) — Segmentasyon için sınıfsal sınıfların sayısı, çıktı katmanının boyutunu belirler.
  • ignore_index (int, kwargs, opsiyonel) — Segmentasyon haritalarında yok sayılacak etiket, genellikle dolgu (padding) için kullanılır.
  • do_reduce_labels (bool, kwargs, opsiyonel, varsayılan False) — Tüm etiket değerlerini 1 azaltarak arka plan sınıfını ignore_index değerine eşleyip eşlemeyeceğini belirtir.

Bir OneFormerImageProcessor 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']]task_inputs: list[str] | None = Nonesegmentation_maps: typing.Union[ForwardRef('PIL.Image.Image'), numpy.ndarray, ForwardRef('torch.Tensor'), list['PIL.Image.Image'], list[numpy.ndarray], list['torch.Tensor'], NoneType] = Noneinstance_id_to_semantic_id: list[dict[int, int]] | dict[int, int] | None = None**kwargs: *<class 'transformers.models.oneformer.image_processing_pil_oneformer.OneFormerImageProcessorKwargs'> ) → ~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.
  • task_inputs (list[str], isteğe bağlı) — Toplumdaki her görüntü için görevlerin listesi ("panoptic", "instance", "semantic").
  • segmentation_maps (ImageInput, isteğe bağlı) — Segmentasyon haritaları.
  • instance_id_to_semantic_id (Union[list[dict[int, int]], dict[int, int]], isteğe bağlı) — Örnek kimliklerinden anlamsal kimliklere bir eşleme.
  • 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.
  • repo_path (str, kwargs, opsiyonel, varsayılan shi-labs/oneformer_demo) — Model metadata içeren yerel bir dizinin veya HuggingFace Hub deposunun yolu.
  • class_info_file (str, kwargs, opsiyonel) — Depoda sınıf meta verilerini içeren JSON dosyasının yolu.
  • num_text (int, kwargs, opsiyonel) — Metin kodlayıcı için metin sorgusu sayısı, görev yönlendirmesi olarak kullanılan istemler.
  • num_labels (int, kwargs, opsiyonel) — Segmentasyon için sınıfsal sınıfların sayısı, çıktı katmanının boyutunu belirler.
  • ignore_index (int, kwargs, opsiyonel) — Segmentasyon haritalarında yok sayılacak etiket, genellikle dolgu (padding) için kullanılır.
  • do_reduce_labels (bool, kwargs, opsiyonel, varsayılan False) — Tüm etiket değerlerini 1 azaltarak arka plan sınıfını ignore_index değerine eşleyip eşlemeyeceğini belirtir.

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_semantic_segmentation

< >

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

Parametreler

  • outputs (OneFormerForUniversalSegmentation) — Modelin ham çıktıları.
  • target_sizes (list[tuple[int, int]], isteğe bağlı) — Uzunluğu (batch_size) olan bir liste; listenin her öğesi (Tuple[int, int]]), ilgili tahminin istenen nihai boyutunu (yükseklik, genişlik) temsil eder. None olarak bırakılırsa, 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).

OneFormerForUniversalSegmentation çıktısını anlamsal segmentasyon haritalarına dönüştürür. Yalnızca PyTorch desteklenir.

post_process_instance_segmentation

< >

( outputstask_type: str = 'instance'is_demo: bool = Truethreshold: float = 0.5mask_threshold: float = 0.5overlap_mask_area_threshold: float = 0.8target_sizes: list[tuple[int, int]] | None = Nonereturn_coco_annotation: bool | None = False ) → List[Dict]

Parametreler

  • outputs (OneFormerForUniversalSegmentationOutput) — OneFormerForUniversalSegmentationOutput çıktısı.
  • task_type (str, isteğe bağlı, varsayılan “instance”) — Son işleme, görev belirteç girdisine bağlıdır. task_type “panoptic” ise, stuff tahminlerini yok saymamız gerekir.
  • is_demo (bool, isteğe bağlı, varsayılan True) — Modelin demo modunda olup olmadığı. Doğruysa, son maskeleri tahmin etmek için eşik değeri kullanılır.
  • threshold (float, isteğe bağlı, varsayılan 0.5) — Tahmin edilen örnek maskelerini tutmak için olasılık puanı eşiği.
  • mask_threshold (float, isteğe bağlı, varsayılan 0.5) — Tahmin edilen maskelerin ikili değerlere dönüştürülürken kullanılacak eşik.
  • overlap_mask_area_threshold (float, isteğe bağlı, varsayılan 0.8) — Her ikili örnek maskesi içindeki küçük kopuk parçaları birleştirmek veya atmak için kullanılan örtüşme maskesi alan eşiği.
  • target_sizes (List[Tuple], isteğe bağlı) — Uzunluğu (batch_size) olan bir liste; listenin her öğesi (Tuple[int, int]]), batch içindeki her tahminin istenen nihai boyutuna (yükseklik, genişlik) karşılık gelir. None olarak bırakılırsa, tahminler yeniden boyutlandırılmaz.
  • return_coco_annotation (bool, isteğe bağlı, varsayılan False) — Tahminlerin COCO biçiminde döndürülüp döndürülmeyeceğini belirtir.

Dönüş değeri

List[Dict]

Her biri bir görüntüye ait olan ve her biri iki anahtar içeren sözlüklerden oluşan bir liste:

  • segmentation — her pikselin bir segment_id temsil ettiği, (height, width) biçiminde bir tensör; threshold üzerinde bir maske bulunamazsa None olarak ayarlanır. target_sizes belirtilirse, segmentation, target_sizes girdisine göre yeniden boyutlandırılır.
  • segments_info — Her segment hakkında ek bilgiler içeren bir sözlük.
    • id — segment_id'yi temsil eden bir tamsayır.
    • label_id — segment_id ile eşleşen etiket / semantik sınıf kimliğini temsil eden bir tamsayır.
    • was_fused — bir boole değeri, label_id label_ids_to_fuse içindeyse True, aksi halde False. Aynı sınıfın / etiketin birden fazla örneği birleştirildi ve tek bir segment_id atandı.
    • score — segment_id ile segmentin tahmin skoru.

OneFormerForUniversalSegmentationOutput çıktısını görüntü örneği segmentasyonu tahminlerine dönüştürür. Yalnızca PyTorch desteklenir.

post_process_panoptic_segmentation

< >

( outputsthreshold: float = 0.5mask_threshold: float = 0.5overlap_mask_area_threshold: float = 0.8label_ids_to_fuse: set[int] | None = Nonetarget_sizes: list[tuple[int, int]] | None = None ) → list[Dict]

Parametreler

  • outputs (MaskFormerForInstanceSegmentationOutput) — MaskFormerForInstanceSegmentation sınıfının çıktıları.
  • threshold (float, isteğe bağlı, varsayılan 0.5) — Tahmin edilen örnek maskelerini tutmak için olasılık puanı eşiği.
  • mask_threshold (float, isteğe bağlı, varsayılan 0.5) — Tahmin edilen maskelerin ikili değerlere dönüştürülürken kullanılacak eşik.
  • overlap_mask_area_threshold (float, isteğe bağlı, varsayılan 0.8) — Her ikili örnek maskesi içindeki küçük kopuk parçaları birleştirmek veya atmak için kullanılan örtüşme maskesi alan eşiği.
  • label_ids_to_fuse (Set[int], isteğe bağlı) — Bu durumdaki etiketlerin tüm örnekleri birleştirilecektir. Örneğin bir görüntüde yalnızca bir gökyüzü, ancak birden fazla kişi olabileceğini söyleyebiliriz; bu nedenle gökyüzü için etiket kimliği bu kümede yer alırken, kişi için olan yer almaz.
  • target_sizes (list[Tuple], isteğe bağlı) — Uzunluğu (batch_size) olan bir liste; listenin her öğesi (tuple[int, int]]), batch içindeki her tahminin istenen nihai boyutuna (yükseklik, genişlik) karşılık gelir. None olarak bırakılırsa, tahminler yeniden boyutlandırılmaz.

Dönüş değeri

list[Dict]

Her biri bir görüntüye ait olan ve her biri iki anahtar içeren sözlüklerden oluşan bir liste:

  • segmentation — her pikselin bir segment_id temsil ettiği, (height, width) biçiminde bir tensör; threshold üzerinde bir maske bulunamazsa None olarak ayarlanır. target_sizes belirtilirse, segmentation, target_sizes girdisine göre yeniden boyutlandırılır.
  • segments_info — Her segment hakkında ek bilgiler içeren bir sözlük.
    • id — segment_id'yi temsil eden bir tamsayır.
    • label_id — segment_id ile eşleşen etiket / semantik sınıf kimliğini temsil eden bir tamsayır.
    • was_fused — bir boole değeri, label_id label_ids_to_fuse içindeyse True, aksi halde False. Aynı sınıfın / etiketin birden fazla örneği birleştirildi ve tek bir segment_id atandı.
    • score — segment_id ile segmentin tahmin skoru.

MaskFormerForInstanceSegmentationOutput çıktısını görüntü panotik segmentasyon tahminlerine dönüştürür. Yalnızca PyTorch desteklenir.

OneFormerProcessor

sınıf transformers.OneFormerProcessor

< >

( image_processor = Nonetokenizer = Nonemax_seq_length: int = 77task_seq_length: int = 77**kwargs )

Parametreler

  • image_processor (OneFormerImageProcessor) — Görsel işleyici zorunlu bir girdidir.
  • tokenizer (CLIPTokenizer) — Tokenizer zorunlu bir girdidir.
  • max_seq_length (int, isteğe bağlı, varsayılan 77) — Sınıf adlarını ve metin girdilerini kodlamak için maksimum dizi uzunluğu. Bu parametre, model için sınıf adları ve diğer metin girdilerinin tokenize edilmesi sırasında kullanılan maksimum token sayısını kontrol eder.
  • task_seq_length (int, isteğe bağlı, varsayılan 77) — Görev açıklamalarını kodlamak için özel olarak kullanılan maksimum dizi uzunluğu. Görev açıklamaları (ör. “görev semantik”) bu uzunluk sınırıyla tokenize edilir ve bu değer, genel metin dizi uzunluğundan farklı olabilir.

Bir görüntü işleyiciyi ve bir belirteç oluşturucuyu tek bir işleyicide birleştiren bir OneFormerProcessor oluşturur.

OneFormerProcessor, OneFormerImageProcessor ve CLIPTokenizer işlevlerinin tümünü sunar. Daha fazla bilgi için ~OneFormerImageProcessor ve ~CLIPTokenizer belgelerine bakın.

__call__

< >

( images = Nonetask_inputs = Nonesegmentation_maps = None**kwargs ) → BatchFeature

Parametreler

  • images (`) -- Image to preprocess. Expects a single or batch of images with pixel values ranging from 0 to 255. If passing in images with pixel values between 0 and 1, set do_rescale=False`.
  • task_inputs (str veya list[str], zorunlu) — Segmentasyon için görev türü veya türleri. "semantic", "instance" veya "panoptic" değerlerinden biri veya birkaçı olmalıdır. Tek bir görüntü için tek bir dize, toplu işleme için ise dize listesi (görüntü başına bir tane) olabilir. Görev türü, modelin girdi görüntülerinde hangi tür segmentasyonu gerçekleştireceğini belirler.
  • segmentation_maps (ImageInput, isteğe bağlı) — Piksel bazlı etiketlere sahip ilgili semantik segmentasyon haritaları.

    (bool, isteğe bağlı, varsayılan True): Görsellerin, bir partideki en büyük görsel boyutuna kadar dolgu (padding) uygulanıp uygulanmayacağı ve bir piksel maskesi oluşturulup oluşturulmayacağını belirtir.

    Varsayılan olarak bırakılırsa, şu şekilde bir piksel maskesi döner:

    • gerçek olan (yani maske uygulanmamış) pikseller için 1,
    • Dolgu olan (yani maskelenmiş) pikseller için 0.
  • return_tensors (str veya TensorType, isteğe bağlı) — Belirlenirse, belirli bir çerçeveye ait tensörler döndürülür. Kabul edilen değerler şunlardır:
    • 'pt': PyTorch torch.Tensor nesnelerini döndürür.
    • 'np': NumPy np.ndarray nesnelerini döndürür.

Dönüş değeri

BatchFeature

Aşağıdaki alanlara sahip bir BatchFeature:

  • task_inputs — Bir modele verilecek token kimliklerinin listesi. text değeri None olmadığında döndürülür.
  • pixel_values — Bir modele verilecek piksel değerleri. images None olmadığında döndürülür.

OneFormerModel

sınıf transformers.OneFormerModel

< >

( config: OneFormerConfig )

Parametreler

  • config (OneFormerConfig) — 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 Oneformer 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: Tensortask_inputs: Tensortext_inputs: typing.Optional[torch.Tensor] = Nonepixel_mask: typing.Optional[torch.Tensor] = Noneoutput_hidden_states: bool | None = Noneoutput_attentions: bool | None = Nonereturn_dict: bool | None = None**kwargs ) → OneFormerModelOutput 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 OneFormerImageProcessor kullanılarak elde edilebilir. Ayrıntılar için OneFormerImageProcessor.call() bölümüne bakın (OneFormerProcessor, görüntü işleme için OneFormerImageProcessor kullanır).
  • task_inputs (torch.FloatTensor, şekli (batch_size, sequence_length)) — Görev girdileri. Görev girdileri AutoImageProcessor kullanılarak elde edilebilir. Ayrıntılar için OneFormerProcessor.call() bölümüne bakın.
  • text_inputs (list[torch.Tensor], isteğe bağlı) — Bir modele verilecek, (num_queries, sequence_length) biçiminde bir tensör
  • pixel_mask (torch.Tensor şeklinde (batch_size, height, width), isteğe bağlı) — Doldurma piksel değerlerinde dikkat işleminin uygulanmaması için maske. Seçilen maske değerleri [0, 1]:
    • gerçek olan (yani maske uygulanmamış) pikseller için 1,
    • Dolgu olan (yani maskelenmiş) pikseller için 0.

    Dikkat maskeleri nedir?

  • output_hidden_states (bool, isteğe bağlı) — Tüm katmanların gizli durumlarının (hidden states) döndürülüp döndürülmeyeceğini belirtir. Daha fazla ayrıntı için döndürülen tensörler altındaki hidden_states bölümüne bakın.
  • output_attentions (bool, isteğe bağlı) — Tüm dikkat katmanlarının dikkat tensörlerinin döndürülüp döndürülmeyeceğini belirtir. Daha fazla ayrıntı için döndürülen tensörler altındaki attentions bölümüne bakın.
  • return_dict (bool, isteğe bağlı) — Düz bir tuple yerine ModelOutput döndürülecek mi?

Dönüş değeri

OneFormerModelOutput veya tuple(torch.FloatTensor)

A OneFormerModelOutput veya bir torch.FloatTensor tuple'ı (return_dict=False geçirildiğinde veya config.return_dict=False olduğunda), yapılandırma (OneFormerConfig) ve girdilere bağlı olarak çeşitli öğelerden oluşur.

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

  • encoder_hidden_states (tuple(torch.FloatTensor), opsiyonel, output_hidden_states=True geçirildiğinde veya config.output_hidden_states=True olduğunda döndürülür) — torch.FloatTensor (gömme çıktısı için bir adet + her aşamanın çıktısı için bir adet) içeren bir demet, şekli (batch_size, num_channels, height, width). Kodlayıcı modelinin her aşamanın çıktısındaki gizli durumları (aynı zamanda özellik haritaları olarak da adlandırılır).
  • pixel_decoder_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 çıktısı için bir adet + her aşamanın çıktısı için bir adet) içeren bir demet, şekli (batch_size, num_channels, height, width). Piksel çözücü modelinin her aşamanın çıktısındaki gizli durumları (aynı zamanda özellik haritaları olarak da adlandırılır).
  • transformer_decoder_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 çıktısı için bir adet + her aşamanın çıktısı için bir adet) içeren bir tuple, şekli (batch_size, sequence_length, hidden_size). Transformer decoder'ın her aşamanın çıktısındaki gizli durumları (aynı zamanda özellik haritaları olarak da adlandırılır).
  • transformer_decoder_object_queries (torch.FloatTensor, şekli (batch_size, num_queries, hidden_dim)) — Transformer decoder'ın son katmanından gelen çıktı nesne sorguları.
  • transformer_decoder_contrastive_queries (torch.FloatTensor, şekli (batch_size, num_queries, hidden_dim)) — Transformer decoder'dan gelen kontrastif sorgular.
  • transformer_decoder_mask_predictions (torch.FloatTensor, şekli (batch_size, num_queries, height, width)) — Transformer decoder'ın son katmanından gelen maske tahminleri.
  • transformer_decoder_class_predictions (torch.FloatTensor, şekli (batch_size, num_queries, num_classes+1)) — Transformer decoder'ın son katmanından gelen sınıf tahminleri.
  • transformer_decoder_auxiliary_predictions (Tuple of Dict of str, torch.FloatTensor, opsiyonel) — Transformer decoder'ın her katmanından gelen sınıf ve maske tahminlerinin tuple'ı.
  • text_queries (torch.FloatTensor, opsiyonel, şekli (batch_size, num_queries, hidden_dim)) — Eğitim sırasında kontrastif kaybın hesaplanmasında kullanılan, girdi metin listesinden türetilen metin sorguları.
  • task_token (torch.FloatTensor, şekli (batch_size, hidden_dim)) — Sorguları koşullandırmak için 1B görev belirteci.
  • attentions (tuple(tuple(torch.FloatTensor)), opsiyonel, output_attentions=True geçirildiğinde veya config.output_attentions=True olduğunda döndürülür) — tuple(torch.FloatTensor) (her katman için bir tane) içeren bir tuple, şekli (batch_size, num_heads, sequence_length, sequence_length). Transformer decoder'dan Self ve Cross Attention ağırlıkları.

Örnek:

>>> import torch
>>> from PIL import Image
>>> from huggingface_hub.utils import httpx
>>> from io import BytesIO
>>> from transformers import OneFormerProcessor, OneFormerModel

>>> # download test image
>>> url = "http://images.cocodataset.org/val2017/000000039769.jpg"
>>> with httpx.stream("GET", url) as response:
...     image = Image.open(BytesIO(response.read()))

>>> # load processor for preprocessing the inputs
>>> processor = OneFormerProcessor.from_pretrained("shi-labs/oneformer_ade20k_swin_tiny")
>>> model = OneFormerModel.from_pretrained("shi-labs/oneformer_ade20k_swin_tiny")
>>> inputs = processor(image, ["semantic"], return_tensors="pt")

>>> with torch.no_grad():
...     outputs = model(**inputs)

>>> mask_predictions = outputs.transformer_decoder_mask_predictions
>>> class_predictions = outputs.transformer_decoder_class_predictions

>>> f"👉 Mask Predictions Shape: {list(mask_predictions.shape)}, Class Predictions Shape: {list(class_predictions.shape)}"
'👉 Mask Predictions Shape: [1, 150, 128, 171], Class Predictions Shape: [1, 150, 151]'

OneFormerForUniversalSegmentation

sınıf transformers.OneFormerForUniversalSegmentation

< >

( config: OneFormerConfig )

Parametreler

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

OneFormer Model, örnek, anlamsal ve panoptik görüntü segmentasyonu için.

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: Tensortask_inputs: Tensortext_inputs: typing.Optional[torch.Tensor] = Nonemask_labels: list[torch.Tensor] | None = Noneclass_labels: list[torch.Tensor] | None = Nonepixel_mask: typing.Optional[torch.Tensor] = Noneoutput_auxiliary_logits: bool | None = Noneoutput_hidden_states: bool | None = Noneoutput_attentions: bool | None = Nonereturn_dict: bool | None = None**kwargs ) → OneFormerForUniversalSegmentationOutput 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 OneFormerImageProcessor kullanılarak elde edilebilir. Ayrıntılar için OneFormerImageProcessor.call() bölümüne bakın (OneFormerProcessor, görüntü işleme için OneFormerImageProcessor kullanır).
  • task_inputs (torch.FloatTensor, şekli (batch_size, sequence_length)) — Görev girdileri. Görev girdileri AutoImageProcessor kullanılarak elde edilebilir. Ayrıntılar için OneFormerProcessor.call() bölümüne bakın.
  • text_inputs (list[torch.Tensor], isteğe bağlı) — Bir modele verilecek, (num_queries, sequence_length) biçiminde bir tensör
  • mask_labels (list[torch.Tensor], isteğe bağlı) — Bir modele verilecek, (num_labels, height, width) biçiminde mask etiketleri listesi
  • class_labels (list[torch.LongTensor], isteğe bağlı) — bir modele verilecek, (num_labels, height, width) biçiminde hedef sınıf etiketlerinin listesi. Bunlar, mask_labels etiketlerini tanımlar; örneğin class_labels[i][j] ise mask_labels[i][j] etiketi.
  • pixel_mask (torch.Tensor şeklinde (batch_size, height, width), isteğe bağlı) — Doldurma piksel değerlerinde dikkat işleminin uygulanmaması için maske. Seçilen maske değerleri [0, 1]:
    • gerçek olan (yani maske uygulanmamış) pikseller için 1,
    • Dolgu olan (yani maskelenmiş) pikseller için 0.

    Dikkat maskeleri nedir?

  • output_auxiliary_logits (bool, isteğe bağlı) — Yardımcı logitlerin (auxiliary logits) çıktı olarak üretilip üretilmeyeceğini belirtir.
  • output_hidden_states (bool, isteğe bağlı) — Tüm katmanların gizli durumlarının (hidden states) döndürülüp döndürülmeyeceğini belirtir. Daha fazla ayrıntı için döndürülen tensörler altındaki hidden_states bölümüne bakın.
  • output_attentions (bool, isteğe bağlı) — Tüm dikkat katmanlarının dikkat tensörlerinin döndürülüp döndürülmeyeceğini belirtir. Daha fazla ayrıntı için döndürülen tensörler altındaki attentions bölümüne bakın.
  • return_dict (bool, isteğe bağlı) — Düz bir tuple yerine ModelOutput döndürülecek mi?

Dönüş değeri

OneFormerForUniversalSegmentationOutput veya tuple(torch.FloatTensor)

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

OneFormerForUniversalSegmentation 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, opsiyonel) — Etiketler mevcut olduğunda döndürülen hesaplanan kayıp.
  • class_queries_logits (torch.FloatTensor, opsiyonel) — Her sorgu için önerilen sınıfları temsil eden, (batch_size, num_queries, num_labels + 1) biçiminde bir tensör. Null sınıfı dahil edildiğinden + 1 gereklidir.
  • masks_queries_logits (torch.FloatTensor, isteğe bağlı) — Her sorgu için önerilen maskeleri temsil eden, (batch_size, num_queries, height, width) biçiminde bir tensör.
  • auxiliary_predictions (List of Dict of str, torch.FloatTensor, opsiyonel) — Transformer decoder'inin her katmanından gelen sınıf ve maske tahminlerinin listesi.
  • encoder_hidden_states (tuple(torch.FloatTensor), opsiyonel, output_hidden_states=True geçirildiğinde veya config.output_hidden_states=True olduğunda döndürülür) — torch.FloatTensor (gömme çıktısı için bir adet + her aşamanın çıktısı için bir adet) içeren bir demet, şekli (batch_size, num_channels, height, width). Kodlayıcı modelinin her aşamanın çıktısındaki gizli durumları (aynı zamanda özellik haritaları olarak da adlandırılır).
  • pixel_decoder_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 çıktısı için bir adet + her aşamanın çıktısı için bir adet) içeren bir demet, şekli (batch_size, num_channels, height, width). Piksel çözücü modelinin her aşamanın çıktısındaki gizli durumları (aynı zamanda özellik haritaları olarak da adlandırılır).
  • transformer_decoder_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 çıktısı için bir adet + her aşamanın çıktısı için bir adet) içeren bir tuple, şekli (batch_size, sequence_length, hidden_size). Transformer decoder'ın her aşamanın çıktısındaki gizli durumları (aynı zamanda özellik haritaları olarak da adlandırılır).
  • transformer_decoder_object_queries (torch.FloatTensor, şekli (batch_size, num_queries, hidden_dim)) — Transformer decoder'ın son katmanından gelen çıktı nesne sorguları.
  • transformer_decoder_contrastive_queries (torch.FloatTensor, şekli (batch_size, num_queries, hidden_dim)) — Transformer decoder'dan gelen kontrastif sorgular.
  • transformer_decoder_mask_predictions (torch.FloatTensor, şekli (batch_size, num_queries, height, width)) — Transformer decoder'ın son katmanından gelen maske tahminleri.
  • transformer_decoder_class_predictions (torch.FloatTensor, şekli (batch_size, num_queries, num_classes+1)) — Transformer decoder'ın son katmanından gelen sınıf tahminleri.
  • transformer_decoder_auxiliary_predictions (List of Dict of str, torch.FloatTensor, isteğe bağlı) — Transformer decoder'ın her katmanından gelen sınıf ve maske tahminlerinin listesi.
  • text_queries (torch.FloatTensor, opsiyonel, şekli (batch_size, num_queries, hidden_dim)) — Eğitim sırasında kontrastif kaybın hesaplanmasında kullanılan, girdi metin listesinden türetilen metin sorguları.
  • task_token (torch.FloatTensor, şekli (batch_size, hidden_dim)) — Sorguları koşullandırmak için 1B görev belirteci.
  • attentions (tuple(tuple(torch.FloatTensor)), opsiyonel, output_attentions=True geçirildiğinde veya config.output_attentions=True olduğunda döndürülür) — tuple(torch.FloatTensor) (her katman için bir tane) içeren bir tuple, şekli (batch_size, num_heads, sequence_length, sequence_length). Transformer decoder'dan Self ve Cross Attention ağırlıkları.

Örnek:

Evrensel segmentasyon örneği:

>>> from transformers import OneFormerProcessor, OneFormerForUniversalSegmentation
>>> from PIL import Image
>>> from huggingface_hub.utils import httpx
>>> from io import BytesIO
>>> import torch

>>> # load OneFormer fine-tuned on ADE20k for universal segmentation
>>> processor = OneFormerProcessor.from_pretrained("shi-labs/oneformer_ade20k_swin_tiny")
>>> model = OneFormerForUniversalSegmentation.from_pretrained("shi-labs/oneformer_ade20k_swin_tiny")

>>> url = (
...     "https://huggingface.co/datasets/hf-internal-testing/fixtures_ade20k/resolve/main/ADE_val_00000001.jpg"
... )
>>> with httpx.stream("GET", url) as response:
...     image = Image.open(BytesIO(response.read()))

>>> # Semantic Segmentation
>>> inputs = processor(image, ["semantic"], return_tensors="pt")

>>> with torch.no_grad():
...     outputs = model(**inputs)
>>> # model predicts class_queries_logits of shape `(batch_size, num_queries)`
>>> # and masks_queries_logits of shape `(batch_size, num_queries, height, width)`
>>> class_queries_logits = outputs.class_queries_logits
>>> masks_queries_logits = outputs.masks_queries_logits

>>> # you can pass them to processor for semantic postprocessing
>>> predicted_semantic_map = processor.post_process_semantic_segmentation(
...     outputs, target_sizes=[(image.height, image.width)]
... )[0]
>>> f"👉 Semantic Predictions Shape: {list(predicted_semantic_map.shape)}"
'👉 Semantic Predictions Shape: [512, 683]'

>>> # Instance Segmentation
>>> inputs = processor(image, ["instance"], return_tensors="pt")

>>> with torch.no_grad():
...     outputs = model(**inputs)
>>> # model predicts class_queries_logits of shape `(batch_size, num_queries)`
>>> # and masks_queries_logits of shape `(batch_size, num_queries, height, width)`
>>> class_queries_logits = outputs.class_queries_logits
>>> masks_queries_logits = outputs.masks_queries_logits

>>> # you can pass them to processor for instance postprocessing
>>> predicted_instance_map = processor.post_process_instance_segmentation(
...     outputs, target_sizes=[(image.height, image.width)]
... )[0]["segmentation"]
>>> f"👉 Instance Predictions Shape: {list(predicted_instance_map.shape)}"
'👉 Instance Predictions Shape: [512, 683]'

>>> # Panoptic Segmentation
>>> inputs = processor(image, ["panoptic"], return_tensors="pt")

>>> with torch.no_grad():
...     outputs = model(**inputs)
>>> # model predicts class_queries_logits of shape `(batch_size, num_queries)`
>>> # and masks_queries_logits of shape `(batch_size, num_queries, height, width)`
>>> class_queries_logits = outputs.class_queries_logits
>>> masks_queries_logits = outputs.masks_queries_logits

>>> # you can pass them to processor for panoptic postprocessing
>>> predicted_panoptic_map = processor.post_process_panoptic_segmentation(
...     outputs, target_sizes=[(image.height, image.width)]
... )[0]["segmentation"]
>>> f"👉 Panoptic Predictions Shape: {list(predicted_panoptic_map.shape)}"
'👉 Panoptic Predictions Shape: [512, 683]'
Update on GitHub