Transformers documentation
OneFormer
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.pyiçindekiOneFormerLosssınıfındakiget_num_masksfonksiyonunu 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_fuseargü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
< source >( 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=Truegeçirildiğinde veyaconfig.output_hidden_states=Trueolduğunda döndürülür) —torch.FloatTensor(gömme katmanının çıktısı için bir adet + her 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=Truegeçirildiğinde veyaconfig.output_hidden_states=Trueolduğunda döndürülür) —torch.FloatTensor(gömme katmanının çıktısı için bir adet + her 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=Truegeçirildiğinde veyaconfig.output_hidden_states=Trueolduğunda döndürülür) —torch.FloatTensor(gömme katmanının çıktısı için bir adet + her 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 (
Tupleof Dict ofstr, 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=Truegeçirildiğinde veyaconfig.output_attentions=Trueolduğunda döndürülür) — Her katman için bir adettuple(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
< source >( 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 (
Listof Dict ofstr, 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=Truegeçirildiğinde veyaconfig.output_hidden_states=Trueolduğunda döndürülür) —torch.FloatTensor(gömme katmanının çıktısı için bir adet + her 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=Truegeçirildiğinde veyaconfig.output_hidden_states=Trueolduğunda döndürülür) —torch.FloatTensor(gömme katmanının çıktısı için bir adet + her 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=Truegeçirildiğinde veyaconfig.output_hidden_states=Trueolduğunda döndürülür) —torch.FloatTensor(gömme katmanının çıktısı için bir adet + her 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 (
Listof Dict ofstr, 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=Truegeçirildiğinde veyaconfig.output_attentions=Trueolduğunda döndürülür) — Her katman için bir adettuple(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
< source >( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = 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ılan0.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ılan2.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ılan5.0) — Panoptik segmentasyon kaybında odak kaybının göreli ağırlığı. - dice_weight (
float, isteğe bağlı, varsayılan5.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ılan0.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ılan1.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ılan1e-05) — Katman normalizasyon katmanları tarafından kullanılan epsilon. - is_training (
bool, isteğe bağlı, varsayılanFalse) — Eğitim mi yoksa çıkarım modunda mı çalışılacağı. - use_auxiliary_loss (
bool, isteğe bağlı, varsayılanTrue) — Transformer decoder'ın ara tahminlerini kullanarak kayıp hesaplanıp hesaplanmayacağı. - output_auxiliary_logits (
bool, isteğe bağlı, varsayılanTrue) — 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ılan6) — Transformer kodlayıcısındaki gizli katman sayısı. Ayarlanmazsanum_layersile aynı değeri kullanır. - decoder_layers (
int, isteğe bağlı, varsayılan10) — Transformer decoder'ındaki gizli katman sayısı. Ayarlanmazsanum_layersile aynı değeri kullanır. - use_task_norm (
bool, isteğe bağlı, varsayılanTrue) — Görev token'ının normalize edilip edilmeyeceğini belirtir. - num_attention_heads (
int, isteğe bağlı, varsayılan8) — Transformer decoder'ındaki her dikkat katmanı için dikkat başı sayısı. - dropout (
Union[float, int], isteğe bağlı, varsayılan0.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ılanFalse) — Transformer decoder'de dikkat katmanlarından önce gizli durumların normalize edilip edilmeyeceğini belirtir. - enforce_input_proj (
bool, isteğe bağlı, varsayılanFalse) — 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.configOneFormerImageProcessor
sınıf transformers.OneFormerImageProcessor
< source >( **kwargs: *<class 'transformers.models.oneformer.image_processing_oneformer.OneFormerImageProcessorKwargs'> )
Parametreler
- do_convert_rgb (
bool, kwargs, opsiyonel, varsayılanTrue) — Görselin RGB'ye dönüştürülüp dönüştürülmemesi. - do_resize (
bool, kwargs, isteğe bağlı, varsayılanTrue) — 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ılanFalse) — 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_cropuygulandıktan sonra çıktı görüntüsünün boyutu. - resample (
Annotated[Union[int, PILImageResampling, NoneType], None], kwargs, varsayılan2) — Görsel yeniden boyutlandırılıyorsa kullanılacak yeniden örnekleme filtresi. Bu,PILImageResamplingenum değerlerinden biri olabilir. Yalnızcado_resizeTrueolarak ayarlanırsa etkilidir. - do_rescale (
bool, kwargs, isteğe bağlı, varsayılanTrue) — Görselin yeniden ölçeklendirilip ölçeklendirilmeyeceği. - rescale_factor (
float, kwargs, opsiyonel, varsayılan0.00392156862745098) —do_rescaleTrueolarak ayarlandığında görüntüyü yeniden ölçeklemek için kullanılan yeniden ölçekleme faktörü. - do_normalize (
bool, kwargs, opsiyonel, varsayılanTrue) — 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ızcado_normalizeTrueolarak 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ızcado_normalizeTrueolarak 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_sizesağlanmazsa, görseller batch içindeki en büyük yüksekliğe ve genişliğe doldurulur. Yalnızcado_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ızcaChannelDimension.FIRSTdesteklenir. 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"veyaChannelDimension.FIRST: (num_channels, height, width) biçiminde görüntü."channels_last"veyaChannelDimension.LAST: (yükseklik, genişlik, kanal sayısı) biçiminde görüntü."none"veyaChannelDimension.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ılanshi-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ılanFalse) — Tüm etiket değerlerini 1 azaltarak arka plan sınıfınıignore_indexdeğerine eşleyip eşlemeyeceğini belirtir.
Bir OneFormerImageProcessor görüntü işleyicisi oluşturur.
ön işleme
< source >( 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çiriliyorsado_rescale=Falseolarak 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_cropuygulandı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,PILImageResamplingenum değerlerinden biri olabilir. Yalnızcado_resizeTrueolarak ayarlanırsa etkilidir. - do_rescale (
bool, kwargs, opsiyonel) — Görselin yeniden ölçeklendirilip ölçeklendirilmeyeceği. - rescale_factor (
float, kwargs, opsiyonel) —do_rescaleTrueolarak 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ızcado_normalizeTrueolarak ayarlanırsa etkilidir. - image_std (
Union[float, list[float], tuple[float, ...]], kwargs, opsiyonel) — Normalizasyon için kullanılacak görüntü standart sapması. Yalnızcado_normalizeTrueolarak 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_sizesağlanmazsa, görseller batch içindeki en büyük yüksekliğe ve genişliğe doldurulur. Yalnızcado_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ızcaChannelDimension.FIRSTdesteklenir. 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"veyaChannelDimension.FIRST: (num_channels, height, width) biçiminde görüntü."channels_last"veyaChannelDimension.LAST: (yükseklik, genişlik, kanal sayısı) biçiminde görüntü."none"veyaChannelDimension.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ılanshi-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ılanFalse) — Tüm etiket değerlerini 1 azaltarak arka plan sınıfınıignore_indexdeğ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
< source >( 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ılanFalse) — Segmentasyon haritasının yanı sıra segmentasyon puanlarının da döndürülüp döndürülmeyeceğini belirtir.Trueolduğunda, döndürülen listenin her öğesisegmentation(sınıf kimlikleri, şekil(height, width)) vesegmentation_scores(şekil(num_classes, height, width)) alanlarına sahip birSemanticSegmentationPostProcessorOutputnesnesidir.
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
< source >( 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ılanTrue) — 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ılanFalse) — 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_idtemsil ettiği,(height, width)biçiminde bir tensör;thresholdüzerinde bir maske bulunamazsaNoneolarak ayarlanır.target_sizesbelirtilirse, segmentation,target_sizesgirdisine 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_idile eşleşen etiket / semantik sınıf kimliğini temsil eden bir tamsayır. - was_fused — bir boole değeri,
label_idlabel_ids_to_fuseiçindeyseTrue, aksi haldeFalse. Aynı sınıfın / etiketin birden fazla örneği birleştirildi ve tek birsegment_idatandı. - score —
segment_idile segmentin tahmin skoru.
- id —
OneFormerForUniversalSegmentationOutput çıktısını görüntü örneği segmentasyonu tahminlerine dönüştürür. Yalnızca PyTorch desteklenir.
post_process_panoptic_segmentation
< source >( 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_idtemsil ettiği,(height, width)biçiminde bir tensör;thresholdüzerinde bir maske bulunamazsaNoneolarak ayarlanır.target_sizesbelirtilirse, segmentation,target_sizesgirdisine 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_idile eşleşen etiket / semantik sınıf kimliğini temsil eden bir tamsayır. - was_fused — bir boole değeri,
label_idlabel_ids_to_fuseiçindeyseTrue, aksi haldeFalse. Aynı sınıfın / etiketin birden fazla örneği birleştirildi ve tek birsegment_idatandı. - score —
segment_idile segmentin tahmin skoru.
- id —
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
< source >( **kwargs: *<class 'transformers.models.oneformer.image_processing_pil_oneformer.OneFormerImageProcessorKwargs'> )
Parametreler
- do_convert_rgb (
bool, kwargs, opsiyonel, varsayılanTrue) — Görselin RGB'ye dönüştürülüp dönüştürülmemesi. - do_resize (
bool, kwargs, isteğe bağlı, varsayılanTrue) — 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ılanFalse) — 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_cropuygulandıktan sonra çıktı görüntüsünün boyutu. - resample (
Annotated[Union[int, PILImageResampling, NoneType], None], kwargs, varsayılan2) — Görsel yeniden boyutlandırılıyorsa kullanılacak yeniden örnekleme filtresi. Bu,PILImageResamplingenum değerlerinden biri olabilir. Yalnızcado_resizeTrueolarak ayarlanırsa etkilidir. - do_rescale (
bool, kwargs, isteğe bağlı, varsayılanTrue) — Görselin yeniden ölçeklendirilip ölçeklendirilmeyeceği. - rescale_factor (
float, kwargs, opsiyonel, varsayılan0.00392156862745098) —do_rescaleTrueolarak ayarlandığında görüntüyü yeniden ölçeklemek için kullanılan yeniden ölçekleme faktörü. - do_normalize (
bool, kwargs, opsiyonel, varsayılanTrue) — 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ızcado_normalizeTrueolarak 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ızcado_normalizeTrueolarak 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_sizesağlanmazsa, görseller batch içindeki en büyük yüksekliğe ve genişliğe doldurulur. Yalnızcado_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ızcaChannelDimension.FIRSTdesteklenir. 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"veyaChannelDimension.FIRST: (num_channels, height, width) biçiminde görüntü."channels_last"veyaChannelDimension.LAST: (yükseklik, genişlik, kanal sayısı) biçiminde görüntü."none"veyaChannelDimension.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ılanshi-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ılanFalse) — Tüm etiket değerlerini 1 azaltarak arka plan sınıfınıignore_indexdeğerine eşleyip eşlemeyeceğini belirtir.
Bir OneFormerImageProcessor görüntü işleyicisi oluşturur.
ön işleme
< source >( 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çiriliyorsado_rescale=Falseolarak 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_cropuygulandı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,PILImageResamplingenum değerlerinden biri olabilir. Yalnızcado_resizeTrueolarak ayarlanırsa etkilidir. - do_rescale (
bool, kwargs, opsiyonel) — Görselin yeniden ölçeklendirilip ölçeklendirilmeyeceği. - rescale_factor (
float, kwargs, opsiyonel) —do_rescaleTrueolarak 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ızcado_normalizeTrueolarak ayarlanırsa etkilidir. - image_std (
Union[float, list[float], tuple[float, ...]], kwargs, opsiyonel) — Normalizasyon için kullanılacak görüntü standart sapması. Yalnızcado_normalizeTrueolarak 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_sizesağlanmazsa, görseller batch içindeki en büyük yüksekliğe ve genişliğe doldurulur. Yalnızcado_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ızcaChannelDimension.FIRSTdesteklenir. 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"veyaChannelDimension.FIRST: (num_channels, height, width) biçiminde görüntü."channels_last"veyaChannelDimension.LAST: (yükseklik, genişlik, kanal sayısı) biçiminde görüntü."none"veyaChannelDimension.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ılanshi-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ılanFalse) — Tüm etiket değerlerini 1 azaltarak arka plan sınıfınıignore_indexdeğ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
< source >( 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ılanFalse) — Segmentasyon haritasının yanı sıra segmentasyon puanlarının da döndürülüp döndürülmeyeceğini belirtir.Trueolduğunda, döndürülen listenin her öğesisegmentation(sınıf kimlikleri, şekil(height, width)) vesegmentation_scores(şekil(num_classes, height, width)) alanlarına sahip birSemanticSegmentationPostProcessorOutputnesnesidir.
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
< source >( 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ılanTrue) — 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ılanFalse) — 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_idtemsil ettiği,(height, width)biçiminde bir tensör;thresholdüzerinde bir maske bulunamazsaNoneolarak ayarlanır.target_sizesbelirtilirse, segmentation,target_sizesgirdisine 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_idile eşleşen etiket / semantik sınıf kimliğini temsil eden bir tamsayır. - was_fused — bir boole değeri,
label_idlabel_ids_to_fuseiçindeyseTrue, aksi haldeFalse. Aynı sınıfın / etiketin birden fazla örneği birleştirildi ve tek birsegment_idatandı. - score —
segment_idile segmentin tahmin skoru.
- id —
OneFormerForUniversalSegmentationOutput çıktısını görüntü örneği segmentasyonu tahminlerine dönüştürür. Yalnızca PyTorch desteklenir.
post_process_panoptic_segmentation
< source >( 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_idtemsil ettiği,(height, width)biçiminde bir tensör;thresholdüzerinde bir maske bulunamazsaNoneolarak ayarlanır.target_sizesbelirtilirse, segmentation,target_sizesgirdisine 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_idile eşleşen etiket / semantik sınıf kimliğini temsil eden bir tamsayır. - was_fused — bir boole değeri,
label_idlabel_ids_to_fuseiçindeyseTrue, aksi haldeFalse. Aynı sınıfın / etiketin birden fazla örneği birleştirildi ve tek birsegment_idatandı. - score —
segment_idile segmentin tahmin skoru.
- id —
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
< source >( 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ılan77) — 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ılan77) — 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__
< source >( 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, setdo_rescale=False`. - task_inputs (
strveyalist[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ılanTrue): 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 (
strveya 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': PyTorchtorch.Tensornesnelerini döndürür.'np': NumPynp.ndarraynesnelerini döndürür.
Dönüş değeri
Aşağıdaki alanlara sahip bir BatchFeature:
- task_inputs — Bir modele verilecek token kimliklerinin listesi.
textdeğeriNoneolmadığında döndürülür. - pixel_values — Bir modele verilecek piksel değerleri.
imagesNoneolmadığında döndürülür.
OneFormerModel
sınıf transformers.OneFormerModel
< source >( 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
< source >( 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.
- 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ındakihidden_statesbö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ındakiattentionsbö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=Truegeçirildiğinde veyaconfig.output_hidden_states=Trueolduğ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=Truegeçirildiğinde veyaconfig.output_hidden_states=Trueolduğ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=Truegeçirildiğinde veyaconfig.output_hidden_states=Trueolduğ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 (
Tupleof Dict ofstr, 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=Truegeçirildiğinde veyaconfig.output_attentions=Trueolduğ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
< source >( 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
< source >( 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_labelsetiketlerini tanımlar; örneğinclass_labels[i][j]isemask_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.
- 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ındakihidden_statesbö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ındakiattentionsbö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+ 1gereklidir. - 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 (
Listof Dict ofstr, 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=Truegeçirildiğinde veyaconfig.output_hidden_states=Trueolduğ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=Truegeçirildiğinde veyaconfig.output_hidden_states=Trueolduğ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=Truegeçirildiğinde veyaconfig.output_hidden_states=Trueolduğ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 (
Listof Dict ofstr, 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=Truegeçirildiğinde veyaconfig.output_attentions=Trueolduğ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]'