Transformers documentation

LXMERT

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 2019-08-20 tarihinde HF papers'ta yayımlandı ve 2020-11-16 tarihinde Hugging Face Transformers'a katkıda bulunuldu.

LXMERT

Genel Bakış

LXMERT modeli, Hao Tan & Mohit Bansal tarafından LXMERT: Learning Cross-Modality Encoder Representations from Transformers makalesinde önerilmiştir. Bu model, bir dizi çift yönlü transformer kodlayıcıdan oluşur (biri görme modu için, biri dil modu için ve ardından her iki modu birleştirmek için bir tane daha) ve maskeli dil modelleme, görsel-dil metin hizalama, ROI-özellik regresyonu, maskeli görsel-özellik modelleme, maskeli görsel-nesne modelleme ve görsel-soru yanıtlama hedeflerinin bir kombinasyonu kullanılarak ön eğitilir. Ön eğitim, çok sayıda çok modlu veri setinden oluşur: MSCOCO, Visual-Genome + Visual-Genome Question Answering, VQA 2.0 ve GQA.

Makalenin özeti aşağıdaki gibidir:

Görüntü ve dil akıl yürütme, görsel kavramların, dil anlambiliminin ve en önemlisi bu iki modalite arasındaki hizalamanın ve ilişkilerin anlaşılmasını gerektirir. Bu nedenle, bu görüntü-dil bağlantılarını öğrenmek için LXMERT (Learning Cross-Modality Encoder Representations from Transformers) çerçevesini öneriyoruz. LXMERT'te, üç kodlayıcıdan oluşan büyük ölçekli bir Transformer modeli inşa ediyoruz: nesne ilişkisi kodlayıcısı, dil kodlayıcısı ve çapraz modalite kodlayıcısı. Ardından, modelimize görüntü ve dil anlambilimini bağlama yeteneği kazandırmak için, beş çeşitli ve temsilci ön eğitim görevi aracılığıyla, büyük miktarda görüntü-cümle çiftiyle modeli ön eğitiyoruz: maskeli dil modelleme, maskeli nesne tahmini (özellik regresyonu ve etiket sınıflandırması), çapraz modalite eşleştirme ve görüntü soru-cevap. Bu görevler, hem modalite içi hem de çapraz modalite ilişkilerinin öğrenilmesine yardımcı olur. Ön eğitilmiş parametrelerimizden ince ayar yaptıktan sonra, modelimiz iki görsel soru-cevap veri setinde (yani VQA ve GQA) en iyi sonuçları elde eder. Ayrıca, ön eğitilmiş çapraz modalite modelimizin genellenebilirliğini, onu zorlu bir görsel akıl yürütme görevi olan NLVR'ye uyarlayarak ve önceki en iyi sonucu mutlak olarak %22 (54'ten 76'ya) iyileştirerek gösteriyoruz. Son olarak, hem yeni model bileşenlerimizin hem de ön eğitim stratejilerimizin güçlü sonuçlarımıza önemli ölçüde katkıda bulunduğunu kanıtlamak için ayrıntılı ablatasyon çalışmaları sunuyor ve farklı kodlayıcılar için çeşitli dikkat görselleştirmeleri sunuyoruz

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

Kullanım ipuçları

  • Bounding box'ların görsel özellik gömütlerinde kullanılması zorunlu değildir; herhangi bir türden görsel-uzamsal özellik işe yarar.
  • LXMERT'in ürettiği dil gizli durumları ve görsel gizli durumları, çapraz modallık katmanından geçirildiği için her iki modallıktan da bilgi içerir. Sadece kendisine dikkat eden bir modalliğe erişmek için, tuple'daki ilk girdiden görsel/dil gizli durumlarını seçin.
  • Çift yönlü çapraz modallı kodlayıcı dikkati, yalnızca dil modu girdi olarak kullanıldığında ve görme modu bağlam vektörü olarak kullanıldığında dikkat değerlerini döndürür. Ayrıca, çapraz modallı kodlayıcı her ilgili mod için kendi kendine dikkat (self-attention) ve çapraz dikkat (cross-attention) içerirken, yalnızca çapraz dikkat döndürülür ve her iki kendi kendine dikkat çıktısı da göz ardı edilir.

Kaynaklar

LxmertConfig

sınıf transformers.LxmertConfig

< >

( 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 = Nonevocab_size: int = 30522hidden_size: int = 768num_attention_heads: int = 12num_qa_labels: int = 9500num_object_labels: int = 1600num_attr_labels: int = 400intermediate_size: int = 3072hidden_act: str = 'gelu'hidden_dropout_prob: float | int = 0.1attention_probs_dropout_prob: float | int = 0.1max_position_embeddings: int = 512type_vocab_size: int = 2initializer_range: float = 0.02l_layers: int = 9x_layers: int = 5r_layers: int = 5visual_feat_dim: int = 2048visual_pos_dim: int = 4visual_loss_normalizer: float = 6.67task_matched: bool = Truetask_mask_lm: bool = Truetask_obj_predict: bool = Truetask_qa: bool = Truevisual_obj_loss: bool = Truevisual_attr_loss: bool = Truevisual_feat_loss: bool = Truepad_token_id: int | None = Nonebos_token_id: int | None = Noneeos_token_id: int | list[int] | None = Nonetie_word_embeddings: bool = True )

Parametreler

  • vocab_size (int, isteğe bağlı, varsayılan 30522) — Modelin sözlük boyutu. input_ids tarafından temsil edilebilecek farklı token sayısını tanımlar.
  • hidden_size (int, isteğe bağlı, varsayılan 768) — Gizli temsillerin boyutu.
  • num_attention_heads (int, isteğe bağlı, varsayılan 12) — Transformer decoder'ındaki her dikkat katmanı için dikkat başı sayısı.
  • num_qa_labels (int, isteğe bağlı, varsayılan 9500) — Bu, mevcut farklı soru-cevap (QA) etiketlerinin toplam sayısını temsil eder. Birden fazla QA veri seti kullanılıyorsa, kullanıcının tüm veri setlerindeki etiketlerin toplam sayısını dikkate alması gerekir.
  • num_object_labels (int, isteğe bağlı, varsayılan 1600) — Bu, lxmert'in birleştirilmiş nesne özelliklerini sınıflandırabileceği toplam semantik olarak benzersiz nesne sayısını temsil eder.
  • num_attr_labels (int, isteğe bağlı, varsayılan 400) — Bu, lxmert'in birleştirilmiş nesne özelliklerini sahip olabileceği olarak sınıflandırabileceği toplam semantik olarak benzersiz nitelik sayısını temsil eder.
  • intermediate_size (int, isteğe bağlı, varsayılan 3072) — MLP temsillerinin boyutu.
  • hidden_act (str, isteğe bağlı, varsayılan gelu) — Çözücüdeki doğrusal olmayan aktivasyon fonksiyonu (fonksiyon veya dize). Örneğin, "gelu", "relu", "silu" vb.
  • hidden_dropout_prob (Union[float, int], isteğe bağlı, varsayılan 0.1) — Gömme, kodlayıcı ve havuzlayıcıdaki tüm tam bağlı katmanlar için dropout olasılığı.
  • attention_probs_dropout_prob (Union[float, int], isteğe bağlı, varsayılan 0.1) — Dikkat olasılıkları için dropout oranı.
  • max_position_embeddings (int, isteğe bağlı, varsayılan 512) — Bu modelin kullanılabileceği en uzun dizi uzunluğu.
  • type_vocab_size (int, isteğe bağlı, varsayılan 2) — token_type_ids için sözlük boyutu.
  • initializer_range (float, isteğe bağlı, varsayılan 0.02) — Tüm ağırlık matrislerini başlatmak için kullanılan truncated_normal_initializer'ın standart sapması.
  • l_layers (int, isteğe bağlı, varsayılan 9) — Transformer dil kodlayıcısındaki gizli katman sayısı.
  • x_layers (int, isteğe bağlı, varsayılan 5) — Transformer çapraz modallı kodlayıcıdaki gizli katman sayısı.
  • r_layers (int, isteğe bağlı, varsayılan 5) — Transformer görsel kodlayıcısındaki gizli katman sayısı.
  • visual_feat_dim (int, isteğe bağlı, varsayılan 2048) — Bu, modelin girdisi olarak kullanılan havuzlanmış nesne özelliklerinin son boyutunu, yani her nesne özelliğinin kendi boyutunu temsil eder.
  • visual_pos_dim (int, isteğe bağlı, varsayılan 4) — Bu, görsel özelliklere karıştırılan uzamsal özelliklerin sayısını temsil eder. Çoğu durumda bu, bir sınırlayıcı kutunun konumunu temsil edeceği için varsayılan değer 4 olarak ayarlanmıştır. Yani, (x, y, genişlik, yükseklik).
  • visual_loss_normalizer (float, isteğe bağlı, varsayılan 6.67) — Bu, ön eğitim sırasında birden fazla görü tabanlı kayıp hedefiyle eğitim yapmaya karar verilirse, her bir görsel kaybın çarpıldığı ölçekleme çarpanını temsil eder.
  • task_matched (bool, isteğe bağlı, varsayılan True) — Bu görev, cümle-görsel eşleştirmesi için kullanılır. Cümle görseli doğru bir şekilde tanımlıyorsa etiket 1 olur. Cümle görseli doğru bir şekilde tanımlamıyorsa etiket 0 olur.
  • task_mask_lm (bool, isteğe bağlı, varsayılan True) — Kayıp hedefine, BERT gibi ön eğitim modellerinde kullanılan maskeleme dil modellemesinin (masked language modeling) eklenip eklenmeyeceğini belirtir.
  • task_obj_predict (bool, opsiyonel, varsayılan True) — Kayıp hedefine nesne tahmini, öznitelik tahmini ve özellik regresyonu eklenip eklenmeyeceğini belirtir.
  • task_qa (bool, isteğe bağlı, varsayılan True) — Hedefe soru-cevap kaybının eklenip eklenmeyeceğini belirtir
  • visual_obj_loss (bool, isteğe bağlı, varsayılan True) — Nesne tahmini kaybı hedefinin hesaplanıp hesaplanmayacağı
  • visual_attr_loss (bool, isteğe bağlı, varsayılan True) — Öznitelik tahmini kaybı hedefinin hesaplanıp hesaplanmayacağı
  • visual_feat_loss (bool, isteğe bağlı, varsayılan True) — Özellik regresyon kaybı hedefinin hesaplanıp hesaplanmayacağı
  • pad_token_id (int, isteğe bağlı) — Sözlükte dolgu için kullanılan token kimliği.
  • bos_token_id (int, isteğe bağlı) — Sözlükte akış başlangıcı için kullanılan token kimliği.
  • eos_token_id (Union[int, list[int]], isteğe bağlı) — Sözlükte akış sonu için kullanılan token kimliği.
  • tie_word_embeddings (bool, isteğe bağlı, varsayılan True) — Modelin tied_weights_keys eşlemesine göre ağırlık gömme bağlamalarının yapılıp yapılmayacağı.

Bu, bir LxmertModel yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Lxmert modelinin örneklenmesinde, model mimarisini tanımlamak için kullanılır. Varsayılan değerlerle bir yapılandırma örneklendiğinde, unc-nlp/lxmert-base-uncased ile benzer bir yapılandırma elde edilir.

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

LxmertTokenizer

sınıf transformers.BertTokenizer

< >

( vocab: str | dict[str, int] | None = Nonedo_lower_case: bool = Trueunk_token: str = '[UNK]'sep_token: str = '[SEP]'pad_token: str = '[PAD]'cls_token: str = '[CLS]'mask_token: str = '[MASK]'tokenize_chinese_chars: bool = Truestrip_accents: bool | None = None**kwargs )

Parametreler

  • vocab (str veya dict[str, int], isteğe bağlı) — Özel sözlük. Sağlanmazsa, sözlük vocab_file içinden yüklenir.
  • do_lower_case (bool, isteğe bağlı, varsayılan True) — Tokenize sırasında girdinin küçük harfe dönüştürülüp dönüştürülmemesi.
  • unk_token (str, isteğe bağlı, varsayılan "[UNK]") — Bilinmeyen token. Sözlükte yer almayan bir token, bir kimliğe dönüştürülemez ve bunun yerine bu token olarak ayarlanır.
  • sep_token (str, isteğe bağlı, varsayılan "[SEP]") — Ayracı belirten token; birden fazla diziden bir dizi oluşturulurken kullanılır, örneğin dizi sınıflandırma için iki dizi veya soru cevaplamada bir metin ve bir soru için. Özel token'larla oluşturulan bir dizinin son token'ı olarak da kullanılır.
  • pad_token (str, isteğe bağlı, varsayılan "[PAD]") — Doldurma için kullanılan jeton, örneğin farklı uzunluklardaki dizileri toplu işleme (batching) sırasında.
  • cls_token (str, isteğe bağlı, varsayılan "[CLS]") — Dizi sınıflandırması yapılırken (token başına sınıflandırma yerine tüm dizinin sınıflandırılması) kullanılan sınıflandırıcı tokenıdır. Özel tokenlarla oluşturulduğunda dizinin ilk tokenıdır.
  • mask_token (str, isteğe bağlı, varsayılan "[MASK]") — Değerleri maskelemek için kullanılan jeton. Bu, modelin maskeli dil modelleme ile eğitildiğinde kullanılan jetondur. Modelin tahmin etmeye çalışacağı jeton budur.
  • tokenize_chinese_chars (bool, isteğe bağlı, varsayılan True) — Çin karakterlerinin tokenize edilip edilmeyeceği.
  • strip_accents (bool, isteğe bağlı) — Tüm aksanların kaldırılıp kaldırılmayacağı. Bu seçenek belirtilmezse, lowercase değeri tarafından belirlenir (orijinal BERT'te olduğu gibi).

Bir BERT tokenizer'ı oluşturun (HuggingFace'in tokenizers kütüphanesi tarafından desteklenir). WordPiece tabanlıdır.

Bu tokenizer, ana yöntemlerin çoğunu içeren TokenizersBackend sınıfından devralır. Kullanıcıların bu yöntemlerle ilgili daha fazla bilgi için bu üst sınıfa başvurması gerekir.

Lxmert'e özgü çıktılar

sınıf transformers.models.lxmert.modeling_lxmert.LxmertModelOutput

< >

( language_output: typing.Optional[torch.Tensor] = Nonevision_output: typing.Optional[torch.Tensor] = Nonepooled_output: typing.Optional[torch.Tensor] = Nonelanguage_hidden_states: tuple[torch.Tensor] | None = Nonevision_hidden_states: tuple[torch.Tensor] | None = Nonelanguage_attentions: tuple[torch.Tensor] | None = Nonevision_attentions: tuple[torch.Tensor] | None = Nonecross_encoder_attentions: tuple[torch.Tensor] | None = None )

Parametreler

  • language_output (torch.Tensor, şekli (batch_size, sequence_length, hidden_size)) — Dil kodlayıcısının son katmanının çıktısındaki gizli durumlar dizisi.
  • vision_output (torch.Tensor, şekli (batch_size, sequence_length, hidden_size)) — Görsel kodlayıcının son katmanının çıktısındaki gizli durumlar dizisi.
  • pooled_output (torch.Tensor, şekli (batch_size, hidden_size)) — Sıranın ilk token'ının (sınıflandırma, CLS, token) son katman gizli durumu, ayrıca bir Linear katmanı ve Tanh aktivasyon fonksiyonu ile işlenir. Linear
  • language_hidden_states (tuple(torch.Tensor), isteğe bağlı, output_hidden_states=True geçirildiğinde veya config.output_hidden_states=True olduğunda döndürülür) — torch.Tensor (girdi özellikleri için bir tane + her çapraz modalite katmanının çıktısı için bir tane) içeren, (batch_size, sequence_length, hidden_size) biçiminde bir tuple.
  • vision_hidden_states (tuple(torch.Tensor), isteğe bağlı, output_hidden_states=True geçirildiğinde veya config.output_hidden_states=True olduğunda döndürülür) — torch.Tensor (girdi özellikleri için bir tane + her çapraz modalite katmanının çıktısı için bir tane) içeren, (batch_size, sequence_length, hidden_size) biçiminde bir tuple.
  • language_attentions (tuple(torch.Tensor), isteğe bağlı, output_attentions=True geçirildiğinde veya config.output_attentions=True olduğunda döndürülür) — torch.Tensor (her katman için bir tane) içeren bir tuple, şekli (batch_size, num_heads, sequence_length, sequence_length). Dikkat softmax'inden sonraki dikkat ağırlıkları, öz-dikkat başlıklarında ağırlıklı ortalamanın hesaplanmasında kullanılır.
  • vision_attentions (tuple(torch.Tensor), isteğe bağlı, output_attentions=True geçirildiğinde veya config.output_attentions=True olduğunda döndürülür) — torch.Tensor (her katman için bir tane) içeren bir tuple, şekli (batch_size, num_heads, sequence_length, sequence_length). Dikkat softmax'inden sonraki dikkat ağırlıkları, öz-dikkat başlıklarında ağırlıklı ortalamanın hesaplanmasında kullanılır.
  • cross_encoder_attentions (tuple(torch.Tensor), isteğe bağlı, output_attentions=True geçirildiğinde veya config.output_attentions=True olduğunda döndürülür) — torch.Tensor (her katman için bir tane) içeren bir tuple, şekli (batch_size, num_heads, sequence_length, sequence_length). Dikkat softmax'inden sonraki dikkat ağırlıkları, kendine dikkat başlıklarında ağırlıklı ortalamanın hesaplanmasında kullanılır.

Lxmert'in dil, görsel ve çapraz modalite kodlayıcıları için son gizli durumları, havuzlanmış çıktıları ve dikkat olasılıklarını içeren çıktıları. (not: Lxmert'teki görsel kodlayıcıya “ilişki” kodlayıcısı denir)

sınıf transformers.models.lxmert.modeling_lxmert.LxmertForPreTrainingOutput

< >

( loss: typing.Optional[torch.Tensor] = Noneprediction_logits: typing.Optional[torch.Tensor] = Nonecross_relationship_score: typing.Optional[torch.Tensor] = Nonequestion_answering_score: typing.Optional[torch.Tensor] = Nonelanguage_hidden_states: tuple[torch.Tensor] | None = Nonevision_hidden_states: tuple[torch.Tensor] | None = Nonelanguage_attentions: tuple[torch.Tensor] | None = Nonevision_attentions: tuple[torch.Tensor] | None = Nonecross_encoder_attentions: tuple[torch.Tensor] | None = None )

Parametreler

  • loss (*optional*, labels sağlandığında döndürülür, torch.Tensor şekli (1,)) — Maskeli dil modelleme kaybı ile sonraki sıra tahmini (sınıflandırma) kaybının toplamı olarak toplam kayıp.
  • prediction_logits (torch.Tensor, şekli (batch_size, sequence_length, config.vocab_size)) — Dil modelleme başlığının tahmin puanları (SoftMax öncesi her sözlük jetonu için puanlar).
  • cross_relationship_score (torch.Tensor, şekli (batch_size, 2)) — Metinsel eşleşme hedefinin (sınıflandırma) başlığının tahmin puanları (SoftMax öncesi True/False devamı puanları).
  • question_answering_score (torch.Tensor, şekli (batch_size, n_qa_answers)) — Soru cevaplandırma hedefinin (sınıflandırma) tahmin puanları.
  • language_hidden_states (tuple(torch.Tensor), isteğe bağlı, output_hidden_states=True geçirildiğinde veya config.output_hidden_states=True olduğunda döndürülür) — torch.Tensor (girdi özellikleri için bir tane + her çapraz modalite katmanının çıktısı için bir tane) içeren, (batch_size, sequence_length, hidden_size) biçiminde bir tuple.
  • vision_hidden_states (tuple(torch.Tensor), isteğe bağlı, output_hidden_states=True geçirildiğinde veya config.output_hidden_states=True olduğunda döndürülür) — torch.Tensor (girdi özellikleri için bir tane + her çapraz modalite katmanının çıktısı için bir tane) içeren, (batch_size, sequence_length, hidden_size) biçiminde bir tuple.
  • language_attentions (tuple(torch.Tensor), isteğe bağlı, output_attentions=True geçirildiğinde veya config.output_attentions=True olduğunda döndürülür) — torch.Tensor (her katman için bir tane) içeren bir tuple, şekli (batch_size, num_heads, sequence_length, sequence_length). Dikkat softmax'inden sonraki dikkat ağırlıkları, öz-dikkat başlıklarında ağırlıklı ortalamanın hesaplanmasında kullanılır.
  • vision_attentions (tuple(torch.Tensor), isteğe bağlı, output_attentions=True geçirildiğinde veya config.output_attentions=True olduğunda döndürülür) — torch.Tensor (her katman için bir tane) içeren bir tuple, şekli (batch_size, num_heads, sequence_length, sequence_length). Dikkat softmax'inden sonraki dikkat ağırlıkları, öz-dikkat başlıklarında ağırlıklı ortalamanın hesaplanmasında kullanılır.
  • cross_encoder_attentions (tuple(torch.Tensor), isteğe bağlı, output_attentions=True geçirildiğinde veya config.output_attentions=True olduğunda döndürülür) — torch.Tensor (her katman için bir tane) içeren bir tuple, şekli (batch_size, num_heads, sequence_length, sequence_length). Dikkat softmax'inden sonraki dikkat ağırlıkları, kendine dikkat başlıklarında ağırlıklı ortalamanın hesaplanmasında kullanılır.

LxmertForPreTraining'in çıktı türü.

sınıf transformers.models.lxmert.modeling_lxmert.LxmertForQuestionAnsweringOutput

< >

( loss: typing.Optional[torch.Tensor] = Nonequestion_answering_score: typing.Optional[torch.Tensor] = Nonelanguage_hidden_states: tuple[torch.Tensor] | None = Nonevision_hidden_states: tuple[torch.Tensor] | None = Nonelanguage_attentions: tuple[torch.Tensor] | None = Nonevision_attentions: tuple[torch.Tensor] | None = Nonecross_encoder_attentions: tuple[torch.Tensor] | None = None )

Parametreler

  • loss (*optional*, returned when labels is provided, torch.Tensor of shape (1,)) — Total loss as the sum of the masked language modeling loss and the next sequence prediction (classification) loss.k.
  • question_answering_score (torch.Tensor, şekli (batch_size, n_qa_answers), isteğe bağlı) — Soru cevaplandırma hedefinin (sınıflandırma) tahmin puanları.
  • language_hidden_states (tuple(torch.Tensor), isteğe bağlı, output_hidden_states=True geçirildiğinde veya config.output_hidden_states=True olduğunda döndürülür) — torch.Tensor (girdi özellikleri için bir tane + her çapraz modalite katmanının çıktısı için bir tane) içeren, (batch_size, sequence_length, hidden_size) biçiminde bir tuple.
  • vision_hidden_states (tuple(torch.Tensor), isteğe bağlı, output_hidden_states=True geçirildiğinde veya config.output_hidden_states=True olduğunda döndürülür) — torch.Tensor (girdi özellikleri için bir tane + her çapraz modalite katmanının çıktısı için bir tane) içeren, (batch_size, sequence_length, hidden_size) biçiminde bir tuple.
  • language_attentions (tuple(torch.Tensor), isteğe bağlı, output_attentions=True geçirildiğinde veya config.output_attentions=True olduğunda döndürülür) — torch.Tensor (her katman için bir tane) içeren bir tuple, şekli (batch_size, num_heads, sequence_length, sequence_length). Dikkat softmax'inden sonraki dikkat ağırlıkları, öz-dikkat başlıklarında ağırlıklı ortalamanın hesaplanmasında kullanılır.
  • vision_attentions (tuple(torch.Tensor), isteğe bağlı, output_attentions=True geçirildiğinde veya config.output_attentions=True olduğunda döndürülür) — torch.Tensor (her katman için bir tane) içeren bir tuple, şekli (batch_size, num_heads, sequence_length, sequence_length). Dikkat softmax'inden sonraki dikkat ağırlıkları, öz-dikkat başlıklarında ağırlıklı ortalamanın hesaplanmasında kullanılır.
  • cross_encoder_attentions (tuple(torch.Tensor), isteğe bağlı, output_attentions=True geçirildiğinde veya config.output_attentions=True olduğunda döndürülür) — torch.Tensor (her katman için bir tane) içeren bir tuple, şekli (batch_size, num_heads, sequence_length, sequence_length). Dikkat softmax'inden sonraki dikkat ağırlıkları, kendine dikkat başlıklarında ağırlıklı ortalamanın hesaplanmasında kullanılır.

LxmertForQuestionAnswering için çıktı türü.

LxmertModel

sınıf transformers.LxmertModel

< >

( config: LxmertConfig )

Parametreler

  • config (LxmertConfig) — 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 başlık olmadan ham gizli durumları (hidden-states) üreten çıplak Lxmert Modeli.

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

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

forward

< >

( input_ids: typing.Optional[torch.LongTensor] = Nonevisual_feats: typing.Optional[torch.Tensor] = Nonevisual_pos: typing.Optional[torch.Tensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Nonevisual_attention_mask: typing.Optional[torch.Tensor] = Nonetoken_type_ids: typing.Optional[torch.LongTensor] = Noneinputs_embeds: typing.Optional[torch.Tensor] = Noneoutput_attentions: bool | None = Noneoutput_hidden_states: bool | None = Nonereturn_dict: bool | None = None**kwargs ) → LxmertModelOutput or tuple(torch.Tensor)

Parametreler

  • input_ids (torch.LongTensor şeklinde (batch_size, sequence_length), isteğe bağlı) — Sözlükteki girdi dizisi belirteçlerinin (token) indeksleri. Varsayılan olarak dolgu (padding) yok sayılır.

    Dizinler AutoTokenizer kullanılarak elde edilebilir. Ayrıntılar için PreTrainedTokenizer.encode() ve PreTrainedTokenizer.call() konularına bakın.

    Girdi kimlikleri nelerdir?

  • visual_feats (torch.Tensor şeklinde (batch_size, num_visual_features, visual_feat_dim)) — Bu girdi, görsel özellikleri temsil eder. (Bounding box'lar kullanılarak faster-RCNN modeliyle ROI havuzlanmış nesne özellikleri)

    Bunlar şu anda transformers kütüphanesi tarafından sağlanmamaktadır.

  • visual_pos (torch.Tensor şeklinde (batch_size, num_visual_features, visual_pos_dim)) — Bu girdi, görsel özelliklerine göre göreli (indeks üzerinden) konumlarını temsil eden uzamsal özellikleri ifade eder. Ön eğitilmiş LXMERT modeli, bu uzamsal özelliklerin 0 ile 1 ölçeğinde normalize edilmiş sınırlayıcı kutular olmasını bekler.

    Bunlar şu anda transformers kütüphanesi tarafından sağlanmamaktadır.

  • attention_mask (torch.Tensor şeklinde (batch_size, sequence_length), isteğe bağlı) — Doldurma (padding) token indekslerinde dikkat (attention) işlemi yapmaktan kaçınmak için kullanılan maske. Seçilen maske değerleri [0, 1]:
    • 1, maskelenmemiş jetonlar için,
    • maskelenmiş jetonlar için 0.

    Dikkat maskeleri nedir?

  • visual_attention_mask (torch.Tensor şeklinde (batch_size, sequence_length), isteğe bağlı) — Doldurma (padding) jeton indekslerinde dikkat (attention) işlemi yapmaktan kaçınmak için kullanılan maske. Seçilen maske değerleri [0, 1]:
    • 1, maskelenmemiş jetonlar için,
    • maskelenmiş jetonlar için 0.

    Dikkat maskeleri nedir?

  • token_type_ids (torch.LongTensor şeklinde (batch_size, sequence_length), isteğe bağlı) — Girdilerin ilk ve ikinci bölümlerini belirtmek için segment token dizinleri. Dizinler [0, 1]:
    • 0, sentence A belirteci ile eşleşir,
    • 1, sentence B belirteçlerine karşılık gelir.

    Token type ID'leri nelerdir?

  • inputs_embeds (torch.Tensor, şekli (batch_size, sequence_length, hidden_size), isteğe bağlı) — İsteğe bağlı olarak, input_ids yerine gömülü bir temsil doğrudan geçmeyi tercih edebilirsiniz. Bu, input_ids dizinlerini ilgili vektörlere dönüştürme biçimi üzerinde modelin dahili gömme arama matrisinden daha fazla kontrol sahibi olmak istiyorsanız faydalıdır.
  • 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.
  • 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.
  • return_dict (bool, isteğe bağlı) — Düz bir tuple yerine ModelOutput döndürülecek mi?

Dönüş değeri

LxmertModelOutput veya tuple(torch.Tensor)

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

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

  • language_output (torch.Tensor, şekli (batch_size, sequence_length, hidden_size)) — Dil kodlayıcısının son katmanının çıktısındaki gizli durumlar dizisi.
  • vision_output (torch.Tensor, şekli (batch_size, sequence_length, hidden_size)) — Görsel kodlayıcının son katmanının çıktısındaki gizli durumlar dizisi.
  • pooled_output (torch.Tensor, şekli (batch_size, hidden_size)) — Sıranın ilk token'ının (sınıflandırma, CLS, token) son katman gizli durumu, daha sonra bir Linear katmanı ve Tanh aktivasyon fonksiyonu ile işlenir. Linear
  • language_hidden_states (tuple(torch.Tensor), isteğe bağlı, output_hidden_states=True geçirildiğinde veya config.output_hidden_states=True olduğunda döndürülür) — torch.Tensor (girdi özellikleri için bir tane + her çapraz modalite katmanının çıktısı için bir tane) içeren bir tuple, şekli (batch_size, sequence_length, hidden_size).
  • vision_hidden_states (tuple(torch.Tensor), isteğe bağlı, output_hidden_states=True geçirildiğinde veya config.output_hidden_states=True olduğunda döndürülür) — torch.Tensor (girdi özellikleri için bir tane + her çapraz modalite katmanının çıktısı için bir tane) içeren bir tuple, şekli (batch_size, sequence_length, hidden_size).
  • language_attentions (tuple(torch.Tensor), isteğe bağlı, output_attentions=True geçirildiğinde veya config.output_attentions=True olduğunda döndürülür) — torch.Tensor (katman başına bir tane) içeren bir tuple, şekli (batch_size, num_heads, sequence_length, sequence_length). Dikkat softmax'ı sonrası dikkat ağırlıkları, öz-dikkat başlıklarında ağırlıklı ortalamanın hesaplanmasında kullanılır.
  • vision_attentions (tuple(torch.Tensor), isteğe bağlı, output_attentions=True geçirildiğinde veya config.output_attentions=True olduğunda döndürülür) — Her katman için bir adet içeren, (batch_size, num_heads, sequence_length, sequence_length) biçiminde torch.Tensor içeren bir demet. Dikkat yumuşatma (softmax) işleminden sonraki dikkat ağırlıkları, öz-dikkat başlıklarında ağırlıklı ortalamanın hesaplanmasında kullanılır.
  • cross_encoder_attentions (tuple(torch.Tensor), isteğe bağlı, output_attentions=True geçirildiğinde veya config.output_attentions=True olduğunda döndürülür) — torch.Tensor (katman başına bir tane) içeren bir tuple, şekli (batch_size, num_heads, sequence_length, sequence_length). Dikkat softmax'ı sonrası dikkat ağırlıkları, kendine dikkat başlıklarında ağırlıklı ortalamanın hesaplanmasında kullanılır.

LxmertForPreTraining

sınıf transformers.LxmertForPreTraining

< >

( config: LxmertConfig )

Parametreler

  • config (LxmertConfig) — 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 belirli bir ön eğitim başlığı bulunan Lxmert Modeli.

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

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

forward

< >

( input_ids: typing.Optional[torch.LongTensor] = Nonevisual_feats: typing.Optional[torch.Tensor] = Nonevisual_pos: typing.Optional[torch.Tensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Nonevisual_attention_mask: typing.Optional[torch.Tensor] = Nonetoken_type_ids: typing.Optional[torch.LongTensor] = Noneinputs_embeds: typing.Optional[torch.Tensor] = Nonelabels: typing.Optional[torch.LongTensor] = Noneobj_labels: dict[str, tuple[torch.Tensor, torch.Tensor]] | None = Nonematched_label: typing.Optional[torch.LongTensor] = Noneans: typing.Optional[torch.Tensor] = Noneoutput_attentions: bool | None = Noneoutput_hidden_states: bool | None = Nonereturn_dict: bool | None = None**kwargs ) → LxmertForPreTrainingOutput or tuple(torch.Tensor)

Parametreler

  • input_ids (torch.LongTensor şeklinde (batch_size, sequence_length), isteğe bağlı) — Sözlükteki girdi dizisi belirteçlerinin (token) indeksleri. Varsayılan olarak dolgu (padding) yok sayılır.

    Dizinler AutoTokenizer kullanılarak elde edilebilir. Ayrıntılar için PreTrainedTokenizer.encode() ve PreTrainedTokenizer.call() konularına bakın.

    Girdi kimlikleri nelerdir?

  • visual_feats (torch.Tensor şeklinde (batch_size, num_visual_features, visual_feat_dim)) — Bu girdi, görsel özellikleri temsil eder. (Bounding box'lar kullanılarak faster-RCNN modeliyle ROI havuzlanmış nesne özellikleri)

    Bunlar şu anda transformers kütüphanesi tarafından sağlanmamaktadır.

  • visual_pos (torch.Tensor şeklinde (batch_size, num_visual_features, visual_pos_dim)) — Bu girdi, görsel özelliklerine göre göreli (indeks üzerinden) konumlarını temsil eden uzamsal özellikleri ifade eder. Ön eğitilmiş LXMERT modeli, bu uzamsal özelliklerin 0 ile 1 ölçeğinde normalize edilmiş sınırlayıcı kutular olmasını bekler.

    Bunlar şu anda transformers kütüphanesi tarafından sağlanmamaktadır.

  • attention_mask (torch.Tensor şeklinde (batch_size, sequence_length), isteğe bağlı) — Doldurma (padding) token indekslerinde dikkat (attention) işlemi yapmaktan kaçınmak için kullanılan maske. Seçilen maske değerleri [0, 1]:
    • 1, maskelenmemiş jetonlar için,
    • maskelenmiş jetonlar için 0.

    Dikkat maskeleri nedir?

  • visual_attention_mask (torch.Tensor şeklinde (batch_size, sequence_length), isteğe bağlı) — Doldurma (padding) jeton indekslerinde dikkat (attention) işlemi yapmaktan kaçınmak için kullanılan maske. Seçilen maske değerleri [0, 1]:
    • 1, maskelenmemiş jetonlar için,
    • maskelenmiş jetonlar için 0.

    Dikkat maskeleri nedir?

  • token_type_ids (torch.LongTensor şeklinde (batch_size, sequence_length), isteğe bağlı) — Girdilerin ilk ve ikinci bölümlerini belirtmek için segment token dizinleri. Dizinler [0, 1]:
    • 0, sentence A belirteci ile eşleşir,
    • 1, sentence B belirteçlerine karşılık gelir.

    Token type ID'leri nelerdir?

  • inputs_embeds (torch.Tensor, şekli (batch_size, sequence_length, hidden_size), isteğe bağlı) — İsteğe bağlı olarak, input_ids yerine gömülü bir temsil doğrudan geçmeyi tercih edebilirsiniz. Bu, input_ids dizinlerini ilgili vektörlere dönüştürme biçimi üzerinde modelin dahili gömme arama matrisinden daha fazla kontrol sahibi olmak istiyorsanız faydalıdır.
  • labels (torch.LongTensor, şekli (batch_size, sequence_length), isteğe bağlı) — Maskeli dil modelleme kaybını hesaplamak için etiketler. Endeksler [-100, 0, ..., config.vocab_size] aralığında olmalıdır (bkz. input_ids docstring). Endeksleri -100 olarak ayarlanan jetonlar yok sayılır (maskelenir), kayıp yalnızca etiketleri [0, ..., config.vocab_size] aralığında olan jetonlar için hesaplanır.
  • obj_labels (dict[Str -- tuple[torch.Tensor, torch.Tensor]], isteğe bağlı): her anahtar, görsel kayıplardan birinin adını taşır ve tuple'ın her elemanı, sırasıyla etiket kimliği ve etiket puanı için (batch_size, num_features) ve (batch_size, num_features, visual_feature_dim) biçimindedir
  • matched_label (torch.LongTensor şeklinde (batch_size,), isteğe bağlı) — Metin girdisinin görüntüyle eşleşip eşleşmediğini hesaplamak için (sınıflandırma) kayıp. Girdi bir dizi çifti olmalıdır (bkz. input_ids belge dizisi) Endeksler şu aralıkta olmalıdır: [0, 1]: 0, cümlenin görüntüyle eşleşmediğini; 1, cümlenin görüntüyle eşleştiğini belirtir. [0, 1]:
    • 0, cümlenin görüntüyle eşleşmediğini gösterir,
    • 1, cümlenin görselle eşleştiğini gösterir.
  • ans (Torch.Tensor, şekli (batch_size), isteğe bağlı) — doğru cevabın tek sıcak (one hot) gösterimi isteğe bağlı
  • 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.
  • 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.
  • return_dict (bool, isteğe bağlı) — Düz bir tuple yerine ModelOutput döndürülecek mi?

Dönüş değeri

LxmertForPreTrainingOutput veya tuple(torch.Tensor)

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

LxmertForPreTraining 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 (*optional*, labels sağlandığında döndürülür, (1,) biçiminde torch.Tensor) — Maskeli dil modelleme kaybı ile sonraki sıra tahmin (sınıflandırma) kaybının toplamı olarak toplam kayıp.
  • prediction_logits (torch.Tensor, şekli (batch_size, sequence_length, config.vocab_size)) — Dil modelleme başlığının tahmin puanları (SoftMax öncesi her sözlük jetonu için puanlar).
  • cross_relationship_score (torch.Tensor, şekli (batch_size, 2)) — Metinsel eşleştirme hedefinin (sınıflandırma) başlığının tahmin puanları (SoftMax öncesi True/False devamı puanları).
  • question_answering_score (torch.Tensor, şekli (batch_size, n_qa_answers)) — Soru cevaplandırma hedefinin (sınıflandırma) tahmin puanları.
  • language_hidden_states (tuple(torch.Tensor), isteğe bağlı, output_hidden_states=True geçirildiğinde veya config.output_hidden_states=True olduğunda döndürülür) — torch.Tensor (girdi özellikleri için bir tane + her çapraz modalite katmanının çıktısı için bir tane) içeren bir tuple, şekli (batch_size, sequence_length, hidden_size).
  • vision_hidden_states (tuple(torch.Tensor), isteğe bağlı, output_hidden_states=True geçirildiğinde veya config.output_hidden_states=True olduğunda döndürülür) — torch.Tensor (girdi özellikleri için bir tane + her çapraz modalite katmanının çıktısı için bir tane) içeren bir tuple, şekli (batch_size, sequence_length, hidden_size).
  • language_attentions (tuple(torch.Tensor), isteğe bağlı, output_attentions=True geçirildiğinde veya config.output_attentions=True olduğunda döndürülür) — torch.Tensor (katman başına bir tane) içeren bir tuple, şekli (batch_size, num_heads, sequence_length, sequence_length). Dikkat softmax'ı sonrası dikkat ağırlıkları, öz-dikkat başlıklarında ağırlıklı ortalamanın hesaplanmasında kullanılır.
  • vision_attentions (tuple(torch.Tensor), isteğe bağlı, output_attentions=True geçirildiğinde veya config.output_attentions=True olduğunda döndürülür) — Her katman için bir adet içeren, (batch_size, num_heads, sequence_length, sequence_length) biçiminde torch.Tensor içeren bir demet. Dikkat yumuşatma (softmax) işleminden sonraki dikkat ağırlıkları, öz-dikkat başlıklarında ağırlıklı ortalamanın hesaplanmasında kullanılır.
  • cross_encoder_attentions (tuple(torch.Tensor), isteğe bağlı, output_attentions=True geçirildiğinde veya config.output_attentions=True olduğunda döndürülür) — torch.Tensor (katman başına bir tane) içeren bir tuple, şekli (batch_size, num_heads, sequence_length, sequence_length). Dikkat softmax'ı sonrası dikkat ağırlıkları, kendine dikkat başlıklarında ağırlıklı ortalamanın hesaplanmasında kullanılır.

Örnek:

LxmertForQuestionAnswering

sınıf transformers.LxmertForQuestionAnswering

< >

( config: LxmertConfig )

Parametreler

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

Aşağıdaki QA görevleri için üstünde görsel yanıtlama başlığı bulunan Lxmert 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

< >

( input_ids: typing.Optional[torch.LongTensor] = Nonevisual_feats: typing.Optional[torch.Tensor] = Nonevisual_pos: typing.Optional[torch.Tensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Nonevisual_attention_mask: typing.Optional[torch.Tensor] = Nonetoken_type_ids: typing.Optional[torch.LongTensor] = Noneinputs_embeds: typing.Optional[torch.Tensor] = Nonelabels: typing.Optional[torch.Tensor] = Noneoutput_attentions: bool | None = Noneoutput_hidden_states: bool | None = Nonereturn_dict: bool | None = None**kwargs ) → LxmertForQuestionAnsweringOutput or tuple(torch.Tensor)

Parametreler

  • input_ids (torch.LongTensor şeklinde (batch_size, sequence_length), isteğe bağlı) — Sözlükteki girdi dizisi belirteçlerinin (token) indeksleri. Varsayılan olarak dolgu (padding) yok sayılır.

    Dizinler AutoTokenizer kullanılarak elde edilebilir. Ayrıntılar için PreTrainedTokenizer.encode() ve PreTrainedTokenizer.call() konularına bakın.

    Girdi kimlikleri nelerdir?

  • visual_feats (torch.Tensor şeklinde (batch_size, num_visual_features, visual_feat_dim)) — Bu girdi, görsel özellikleri temsil eder. (Bounding box'lar kullanılarak faster-RCNN modeliyle ROI havuzlanmış nesne özellikleri)

    Bunlar şu anda transformers kütüphanesi tarafından sağlanmamaktadır.

  • visual_pos (torch.Tensor şeklinde (batch_size, num_visual_features, visual_pos_dim)) — Bu girdi, görsel özelliklerine göre göreli (indeks üzerinden) konumlarını temsil eden uzamsal özellikleri ifade eder. Ön eğitilmiş LXMERT modeli, bu uzamsal özelliklerin 0 ile 1 ölçeğinde normalize edilmiş sınırlayıcı kutular olmasını bekler.

    Bunlar şu anda transformers kütüphanesi tarafından sağlanmamaktadır.

  • attention_mask (torch.Tensor şeklinde (batch_size, sequence_length), isteğe bağlı) — Doldurma (padding) token indekslerinde dikkat (attention) işlemi yapmaktan kaçınmak için kullanılan maske. Seçilen maske değerleri [0, 1]:
    • 1, maskelenmemiş jetonlar için,
    • maskelenmiş jetonlar için 0.

    Dikkat maskeleri nedir?

  • visual_attention_mask (torch.Tensor şeklinde (batch_size, sequence_length), isteğe bağlı) — Doldurma (padding) jeton indekslerinde dikkat (attention) işlemi yapmaktan kaçınmak için kullanılan maske. Seçilen maske değerleri [0, 1]:
    • 1, maskelenmemiş jetonlar için,
    • maskelenmiş jetonlar için 0.

    Dikkat maskeleri nedir?

  • token_type_ids (torch.LongTensor şeklinde (batch_size, sequence_length), isteğe bağlı) — Girdilerin ilk ve ikinci bölümlerini belirtmek için segment token dizinleri. Dizinler [0, 1]:
    • 0, sentence A belirteci ile eşleşir,
    • 1, sentence B belirteçlerine karşılık gelir.

    Token type ID'leri nelerdir?

  • inputs_embeds (torch.Tensor, şekli (batch_size, sequence_length, hidden_size), isteğe bağlı) — İsteğe bağlı olarak, input_ids yerine gömülü bir temsil doğrudan geçmeyi tercih edebilirsiniz. Bu, input_ids dizinlerini ilgili vektörlere dönüştürme biçimi üzerinde modelin dahili gömme arama matrisinden daha fazla kontrol sahibi olmak istiyorsanız faydalıdır.
  • labels (Torch.Tensor, şekli (batch_size), isteğe bağlı) — Doğru cevabın tek-sıcak (one-hot) gösterimi
  • 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.
  • 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.
  • return_dict (bool, isteğe bağlı) — Düz bir tuple yerine ModelOutput döndürülecek mi?

Dönüş değeri

LxmertForQuestionAnsweringOutput veya tuple(torch.Tensor)

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

LxmertForQuestionAnswering 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 (*optional*, labels sağlandığında döndürülür, (1,) biçiminde torch.Tensor) — Maskeli dil modelleme kaybı ile sonraki sıra tahmin (sınıflandırma) kaybının toplamı olarak toplam kayıp.
  • question_answering_score (torch.Tensor, şekli (batch_size, n_qa_answers), isteğe bağlı) — Soru cevaplandırma hedefinin (sınıflandırma) tahmin puanları.
  • language_hidden_states (tuple(torch.Tensor), isteğe bağlı, output_hidden_states=True geçirildiğinde veya config.output_hidden_states=True olduğunda döndürülür) — torch.Tensor (girdi özellikleri için bir tane + her çapraz modalite katmanının çıktısı için bir tane) içeren bir tuple, şekli (batch_size, sequence_length, hidden_size).
  • vision_hidden_states (tuple(torch.Tensor), isteğe bağlı, output_hidden_states=True geçirildiğinde veya config.output_hidden_states=True olduğunda döndürülür) — torch.Tensor (girdi özellikleri için bir tane + her çapraz modalite katmanının çıktısı için bir tane) içeren bir tuple, şekli (batch_size, sequence_length, hidden_size).
  • language_attentions (tuple(torch.Tensor), isteğe bağlı, output_attentions=True geçirildiğinde veya config.output_attentions=True olduğunda döndürülür) — torch.Tensor (katman başına bir tane) içeren bir tuple, şekli (batch_size, num_heads, sequence_length, sequence_length). Dikkat softmax'ı sonrası dikkat ağırlıkları, öz-dikkat başlıklarında ağırlıklı ortalamanın hesaplanmasında kullanılır.
  • vision_attentions (tuple(torch.Tensor), isteğe bağlı, output_attentions=True geçirildiğinde veya config.output_attentions=True olduğunda döndürülür) — Her katman için bir adet içeren, (batch_size, num_heads, sequence_length, sequence_length) biçiminde torch.Tensor içeren bir demet. Dikkat yumuşatma (softmax) işleminden sonraki dikkat ağırlıkları, öz-dikkat başlıklarında ağırlıklı ortalamanın hesaplanmasında kullanılır.
  • cross_encoder_attentions (tuple(torch.Tensor), isteğe bağlı, output_attentions=True geçirildiğinde veya config.output_attentions=True olduğunda döndürülür) — torch.Tensor (katman başına bir tane) içeren bir tuple, şekli (batch_size, num_heads, sequence_length, sequence_length). Dikkat softmax'ı sonrası dikkat ağırlıkları, kendine dikkat başlıklarında ağırlıklı ortalamanın hesaplanmasında kullanılır.

Örnek:

>>> from transformers import AutoTokenizer, LxmertForQuestionAnswering
>>> import torch

>>> tokenizer = AutoTokenizer.from_pretrained("unc-nlp/lxmert-base-uncased")
>>> model = LxmertForQuestionAnswering.from_pretrained("unc-nlp/lxmert-base-uncased")

>>> question, text = "Who was Jim Henson?", "Jim Henson was a nice puppet"

>>> inputs = tokenizer(question, text, return_tensors="pt")
>>> with torch.no_grad():
...     outputs = model(**inputs)

>>> answer_start_index = outputs.start_logits.argmax()
>>> answer_end_index = outputs.end_logits.argmax()

>>> predict_answer_tokens = inputs.input_ids[0, answer_start_index : answer_end_index + 1]
>>> tokenizer.decode(predict_answer_tokens, skip_special_tokens=True)
...

>>> # target is "nice puppet"
>>> target_start_index = torch.tensor([14])
>>> target_end_index = torch.tensor([15])

>>> outputs = model(**inputs, start_positions=target_start_index, end_positions=target_end_index)
>>> loss = outputs.loss
>>> round(loss.item(), 2)
...
Update on GitHub