Transformers documentation

VideoPrism

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 2024-02-20 tarihinde HF papers'ta yayımlandı ve 2026-06-19 tarihinde Hugging Face Transformers'a katkıda bulunuldu.

FlashAttention

VideoPrism

VideoPrism modeli, Google DeepMind tarafından blog yazısında VideoPrism: A Foundational Visual Encoder for Video Understanding adlı makalede önerilmiştir.

VideoPrism, tek donmuş bir modelle çeşitli video anlama görevlerini ele alan genel amaçlı bir video kodlayıcısıdır. Model, 36 milyon yüksek kaliteli video-altyazı çifti ve gürültülü paralel metin içeren (ör. ASR transkriptleri) 582 milyon video klipten oluşan büyük ölçekli heterojen bir korpus üzerinde ön eğitilmiştir. Ön eğitim yaklaşımı, anlamsal video gömme vektörlerinin küresel-yerel damıtılması ve bir jeton karıştırma şeması aracılığıyla maskeli oto-kodlamayı iyileştirir; bu sayede model, videolarla ilişkili metni kullanırken ağırlıklı olarak video modalitesine odaklanabilir. VideoPrism, web video soru-cevaptan bilimsel bilgisayarlı görüye kadar dört geniş görev grubunda, 33 video anlama kriterinin 31'inde en iyi performansı elde eder.

drawing

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

Notlar:

  • VideoPrism, ayrıştırılmış uzamsal-zamansal kodlayıcı mimarisi kullanır ve videoları ayrı uzamsal ve zamansal dönüştürücülerden geçirerek işler.
  • Model, video kodlayıcı ile metin kodlayıcıyı birleştiren VideoPrismClipModel aracılığıyla video-metin karşıtlı öğrenmeyi destekler. Bu modelle VideoPrismConfig kullanılması gerekir.
  • Video sınıflandırma görevleri için, video kodlayıcının üzerine bir sınıflandırma başlığı ekleyen VideoPrismForVideoClassification kullanın. Bu modelle VideoPrismVisionConfig kullanılması gerekir.
  • Görüntü kodlayıcı, video özellikleri çıkarmak için VideoPrismVisionModel üzerinden bağımsız olarak kullanılabilir. Bu modelle VideoPrismVisionConfig kullanılması gerekir.
  • Varsayılan giriş çözünürlüğü, temel modeller için 288x288 piksel ve video klipleri başına 16 kare, büyük modeller için ise 8 karedir. Modelleri özel çözünürlük ve klip başına kare sayısı ile kullanmak için interpolate_pos_encoding=True ayarlayın.

Bu model MHRDYN7 tarafından katkıda bulunmuş ve vasqu & zucchini-nlp tarafından incelenmiştir. Orijinal kod burada bulunabilir.

Kullanım örneği

Aşağıdaki kod parçası, AutoModel sınıfını kullanarak VideoPrismVisionModel'in özellik çıkarımı için nasıl yükleneceğini gösterir.

import torch
from transformers import AutoModel, AutoVideoProcessor

processor = AutoVideoProcessor.from_pretrained("google/videoprism-base-f16r288", revision="refs/pr/4")
model = AutoModel.from_pretrained(
    "google/videoprism-base-f16r288",
    revision="refs/pr/4",
    device_map="auto",
    # use "flash_attention_2" for faster inference on supported hardware
    # attn_implementation="flash_attention_2" 
)

video_url = "https://huggingface.co/datasets/nateraw/kinetics-mini/resolve/main/val/archery/-Qz25rXdMjE_000014_000024.mp4"

# when do_sample_frames=True, 16/8 frames will be sampled by default depending on the checkpoint size base/large.
processed_video_inputs = processor(videos=[video_url], return_metadata=True, do_sample_frames=True)
video_metadata = processed_video_inputs["video_metadata"]
video_inputs = processed_video_inputs["pixel_values_videos"].to(model.device)
outputs = model(video_inputs)

# VideoPrism encoder outputs
encoder_outputs = outputs.last_hidden_state

VideoPrismVisionConfig

sınıf transformers.VideoPrismVisionConfig

< >

( 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 = Noneimage_size: int | list[int] | tuple[int, int] = 288num_frames: int = 16tubelet_size: list[int] | tuple[int, ...] = (1, 18, 18)num_channels: int = 3hidden_size: int = 768num_attention_heads: int = 12intermediate_size: int = 3072hidden_act: str = 'gelu_python'hidden_dropout_prob: float | int = 0.0attention_probs_dropout_prob: float | int = 0.0initializer_range: float = 0.02layer_norm_eps: float = 1e-06qkv_bias: bool = Truenum_spatial_layers: int = 12num_temporal_layers: int = 4attn_logit_softcapping: float = 50.0num_auxiliary_layers: int = 2apply_l2norm: bool = True )

Parametreler

  • image_size (Union[int, list[int], tuple[int, int]], isteğe bağlı, varsayılan 288) — Her bir görüntünün boyutu (çözünürlüğü).
  • num_frames (int, isteğe bağlı, varsayılan 16) — Girdi videosundaki kare sayısı.
  • tubelet_size (List[int], isteğe bağlı, varsayılan [1, 18, 18]) — Tubelet yamasının boyutu.
  • num_channels (int, isteğe bağlı, varsayılan 3) — Giriş kanal sayısı.
  • 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ı.
  • intermediate_size (int, isteğe bağlı, varsayılan 3072) — MLP temsillerinin boyutu.
  • hidden_act (str, isteğe bağlı, varsayılan gelu_python) — Çö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.0) — 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.0) — Dikkat olasılıkları için dropout oranı.
  • initializer_range (float, isteğe bağlı, varsayılan 0.02) — Tüm ağırlık matrislerini başlatmak için kullanılan truncated_normal_initializer'ın standart sapması.
  • layer_norm_eps (float, isteğe bağlı, varsayılan 1e-06) — Katman normalizasyon katmanları tarafından kullanılan epsilon.
  • qkv_bias (bool, isteğe bağlı, varsayılan True) — Sorgulara, anahtarlara ve değerlere bir sapma eklenip eklenmeyeceği.
  • num_spatial_layers (int, isteğe bağlı, varsayılan 12) — Mekânsal dönüştürücü bloklarının sayısı.
  • num_temporal_layers (int, isteğe bağlı, varsayılan 4) — Zamansal transformer bloklarının sayısı.
  • attn_logit_softcapping (float, isteğe bağlı, varsayılan 50.0) — Dikkat logitleri için softcapping sabiti.
  • num_auxiliary_layers (int, isteğe bağlı, varsayılan 2) — Yardımcı katman sayısı. Bu, VideoPrismClipModel'in bir parçası olan VideoPrismVideoModel içinde kullanılır.
  • apply_l2norm (bool, isteğe bağlı, varsayılan True) — Çıktıya L2 normalizasyonu uygulanıp uygulanmayacağı. Bu, VideoPrismClipModel'in bir parçası olan VideoPrismVideoModel'de kullanılır.

Bu, bir VideoPrismClipModel yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Videoprism modelini örneklemek ve model mimarisini tanımlamak için kullanılır. Varsayılan değerlerle bir yapılandırma örneklendiğinde, google/videoprism-base-f16r288 modelinin yapılandırmasına benzer bir yapılandırma elde edilir.

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

VideoPrismTextConfig

sınıf transformers.VideoPrismTextConfig

< >

( 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 = 32000hidden_size: int = 768intermediate_size: int = 3072num_hidden_layers: int = 12num_attention_heads: int = 12max_position_embeddings: int = 64hidden_act: str = 'relu'layer_norm_eps: float = 1e-06pad_token_id: int | None = 0bos_token_id: int | None = Noneeos_token_id: int | list[int] | None = Noneattention_probs_dropout_prob: float | int = 0.0apply_l2norm: bool = Trueqkv_bias: bool = Truehidden_dropout_prob: float = 0.0initializer_range: float = 0.02attn_logit_softcapping: float = 50.0 )

Parametreler

  • vocab_size (int, isteğe bağlı, varsayılan 32000) — 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.
  • intermediate_size (int, isteğe bağlı, varsayılan 3072) — MLP temsillerinin boyutu.
  • num_hidden_layers (int, isteğe bağlı, varsayılan 12) — Transformer çözücüdeki gizli katman sayısı.
  • num_attention_heads (int, isteğe bağlı, varsayılan 12) — Transformer decoder'ındaki her dikkat katmanı için dikkat başı sayısı.
  • max_position_embeddings (int, isteğe bağlı, varsayılan 64) — Bu modelin kullanılabileceği maksimum dizi uzunluğu.
  • hidden_act (str, isteğe bağlı, varsayılan relu) — Çözücüdeki doğrusal olmayan aktivasyon fonksiyonu (fonksiyon veya dize). Örneğin, "gelu", "relu", "silu" vb.
  • layer_norm_eps (float, isteğe bağlı, varsayılan 1e-06) — Katman normalizasyon katmanları tarafından kullanılan epsilon.
  • pad_token_id (int, isteğe bağlı, varsayılan 0) — 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.
  • attention_probs_dropout_prob (Union[float, int], isteğe bağlı, varsayılan 0.0) — Dikkat olasılıkları için dropout oranı.
  • apply_l2norm (bool, isteğe bağlı, varsayılan True) — VideoPrismTextEncoder çıktısına L2 normalizasyonu uygulanıp uygulanmayacağı.
  • qkv_bias (bool, isteğe bağlı, varsayılan True) — Sorgulara, anahtarlara ve değerlere bir sapma eklenip eklenmeyeceği.
  • hidden_dropout_prob (float, isteğe bağlı, varsayılan 0.0) — Gömme, kodlayıcı ve havuzlayıcıdaki tüm tam bağlı katmanlar için dropout olasılığı.
  • 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ı.
  • attn_logit_softcapping (float, isteğe bağlı, varsayılan 50.0) — Dikkat logitleri için softcapping sabiti.

Bu, bir VideoPrismClipModel yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Videoprism modelinin örneklenmesi ve model mimarisinin tanımlanması için kullanılır. Varsayılan değerlerle bir yapılandırma örneklendiğinde, google/videoprism-lvt-base-f16r288 modeline 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.

VideoPrismConfig

sınıf transformers.VideoPrismConfig

< >

( 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 = Nonetext_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Nonevision_config: dict | transformers.configuration_utils.PreTrainedConfig | None = None )

Parametreler

  • text_config (Union[dict, ~configuration_utils.PreTrainedConfig], isteğe bağlı) — Metin omurgasının yapılandırma nesnesi veya sözlüğü.
  • vision_config (Union[dict, ~configuration_utils.PreTrainedConfig], isteğe bağlı) — Görüntü omurgasının yapılandırma nesnesi veya sözlüğü.

Bu, bir VideoPrismClipModel yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Videoprism modelinin örneklenmesi ve model mimarisinin tanımlanması için kullanılır. Varsayılan değerlerle bir yapılandırma örneklendiğinde, google/videoprism-lvt-base-f16r288 modeline 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.

Örnek:

>>> from transformers import VideoPrismClipModel, VideoPrismConfig

>>> # Initializing a VideoPrismConfig with default values
>>> configuration = VideoPrismConfig()

>>> # Initializing a VideoPrismClipModel with the configuration
>>> model = VideoPrismClipModel(configuration)

>>> # Accessing the model configuration
>>> configuration = model.config

VideoPrismTokenizer

sınıf transformers.VideoPrismTokenizer

< >

( vocab: str | list[tuple[str, float]] | None = Noneeos_token = '</s>'unk_token = '<unk>'pad_token = '<pad>'_spm_precompiled_charsmap = Noneextra_ids = 100additional_special_tokens = None**kwargs )

VideoPrism tokenizer'ı oluşturur; bu, temelde dizinin sonuna bir EOS token'ı ekleyen postprocessor'ı olmayan bir T5 tokenizer'ıdır.

Bu tokenizer, ana yöntemlerin çoğunu içeren T5Tokenizer 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.

get_sentinel_token_ids

< >

( )

Sentinel token'ları için token kimliklerini alın.

get_sentinel_tokens

< >

( )

additional_special_tokens'tan sentinel token listesini (extra_id tokenları) alın.

VideoPrismProcessor

sınıf transformers.VideoPrismProcessor

< >

( video_processor = Nonetokenizer = None )

Parametreler

  • video_processor (LlavaOnevisionVideoProcessor) — Video işleyici zorunlu bir girdidir.
  • tokenizer (VideoPrismTokenizer) — Tokenizer zorunlu bir girdidir.

Bir video işleyiciyi ve bir belirteçleyiciyi tek bir işleyicide birleştiren bir VideoPrismProcessor oluşturur.

VideoPrismProcessor, LlavaOnevisionVideoProcessor ve VideoPrismTokenizer sınıflarının tüm işlevlerini sunar. Daha fazla bilgi için ~LlavaOnevisionVideoProcessor ve ~VideoPrismTokenizer belgelerine bakın.

VideoPrismVisionModel

sınıf transformers.VideoPrismVisionModel

< >

( config: VideoPrismVisionConfig )

Parametreler

  • config (VideoPrismVisionConfig) — 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 VideoPrism görme kodlayıcısı. Bu model, VideoPrismVideoModel içinde kullanılan omurga kodlayıcıdır.

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

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

forward

< >

( pixel_values_videos: typing.Optional[torch.Tensor] = Noneinterpolate_pos_encoding: bool | None = False**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → BaseModelOutputWithSpatialAndTemporalStates or tuple(torch.Tensor)

Parametreler

  • pixel_values_videos (torch.Tensor, şekli (batch_size, num_frames, num_channels, frame_size, frame_size), isteğe bağlı) — Girdi videosuna karşılık gelen tensörler. Videolar için piksel değerleri, LlavaOnevisionVideoProcessor kullanılarak elde edilebilir. Ayrıntılar için LlavaOnevisionVideoProcessor.call() bölümüne bakın (VideoPrismProcessor, videoları işlemek için LlavaOnevisionVideoProcessor kullanır).
  • interpolate_pos_encoding (bool, isteğe bağlı, varsayılan False) — Önceden eğitilmiş konum kodlamalarının interpolasyonunun yapılıp yapılmayacağı.

Dönüş değeri

BaseModelOutputWithSpatialAndTemporalStates veya tuple(torch.Tensor)

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

VideoPrismVisionModel forward metodu, __call__ özel metodunu geçersiz kılar.

İleri geçiş tarifi bu fonksiyon içinde tanımlanmalı olsa da, sonrasında bunun yerine Module örneğini çağırmak gerekir; çünkü önceki, ön ve son işleme adımlarını çalıştırmaktan sorumluyken ikincisi bunları sessizce yok sayar.

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

  • hidden_states (tuple(torch.Tensor), isteğe bağlı, output_hidden_states=True geçirildiğinde veya config.output_hidden_states=True olduğunda döndürülür) — torch.Tensor (modelin bir gömme katmanı varsa gömme katmanının çıktısı için bir tane + her katmanın çıktısı için birer tane) içeren, (batch_size, sequence_length, hidden_size) biçiminde bir demet.

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

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

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

  • last_temporal_hidden_state (torch.Tensor, isteğe bağlı) — Zamanlı kodlayıcının son gizli durumu, genellikle (batch_size * num_patches, num_frames, hidden_size) biçimindedir.

  • last_spatial_hidden_state (torch.Tensor, isteğe bağlı) — Uzamsal kodlayıcının son gizli durumu, genellikle (batch_size * num_frames, num_patches, hidden_size) biçimindedir.

Örnek:

VideoPrismVideoModel

sınıf transformers.VideoPrismVideoModel

< >

( config: VideoPrismVisionConfig )

Parametreler

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

VideoPrism video modeli, yardımcı encoder katmanlarına sahip bir vision encoder omurgası ve bunun üzerinde bir attention pooling head'inden oluşur. Bu model, VideoPrismClipModel içinde kullanılır.

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

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

forward

< >

( pixel_values_videos: Tensorinterpolate_pos_encoding: bool | None = False**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → BaseModelOutputWithPooling or tuple(torch.Tensor)

Parametreler

  • pixel_values_videos (torch.Tensor, şekli (batch_size, num_frames, num_channels, frame_size, frame_size)) — Girdi videosuna karşılık gelen tensörler. Videolar için piksel değerleri, LlavaOnevisionVideoProcessor kullanılarak elde edilebilir. Ayrıntılar için LlavaOnevisionVideoProcessor.call() bölümüne bakın (VideoPrismProcessor, videoları işlemek için LlavaOnevisionVideoProcessor kullanır).
  • interpolate_pos_encoding (bool, isteğe bağlı, varsayılan False) — Önceden eğitilmiş konum kodlamalarının interpolasyonunun yapılıp yapılmayacağı.

Dönüş değeri

BaseModelOutputWithPooling veya tuple(torch.Tensor)

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

VideoPrismVideoModel forward metodu, __call__ özel metodunu geçersiz kılar.

İleri geçiş tarifi bu fonksiyon içinde tanımlanmalı olsa da, sonrasında bunun yerine Module örneğini çağırmak gerekir; çünkü önceki, ön ve son işleme adımlarını çalıştırmaktan sorumluyken ikincisi bunları sessizce yok sayar.

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

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

  • hidden_states (tuple(torch.Tensor), isteğe bağlı, output_hidden_states=True geçirildiğinde veya config.output_hidden_states=True olduğunda döndürülür) — torch.Tensor (modelin bir gömme katmanı varsa gömme katmanının çıktısı için bir tane + her katmanın çıktısı için birer tane) içeren, (batch_size, sequence_length, hidden_size) biçiminde bir demet.

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

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

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

VideoPrismTextModel

sınıf transformers.VideoPrismTextModel

< >

( config: VideoPrismTextConfig )

Parametreler

  • config (VideoPrismTextConfig) — 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 bulunmayan ve son gizli durumları (last hidden states) üreten, çıplak VideoPrism metin kodlayıcısı. Bu model, VideoPrismClipModel içinde kullanılır.

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] = Noneattention_mask: typing.Optional[torch.Tensor] = Noneinputs_embeds: typing.Optional[torch.Tensor] = Noneposition_ids: typing.Optional[torch.Tensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → BaseModelOutputWithPooling 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?

  • 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?

  • 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.
  • position_ids (torch.Tensor şeklinde (batch_size, sequence_length), isteğe bağlı) — Girdi dizilerindeki her token'ın konum gömme (position embedding) içindeki konum indeksleri. Seçim aralığı [0, config.n_positions - 1].

    Pozisyon kimlikleri nedir?

Dönüş değeri

BaseModelOutputWithPooling veya tuple(torch.Tensor)

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

VideoPrismTextModel forward metodu, __call__ özel metodunu geçersiz kılar.

İleri geçiş tarifi bu fonksiyon içinde tanımlanmalı olsa da, sonrasında bunun yerine Module örneğini çağırmak gerekir; çünkü önceki, ön ve son işleme adımlarını çalıştırmaktan sorumluyken ikincisi bunları sessizce yok sayar.

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

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

  • hidden_states (tuple(torch.Tensor), isteğe bağlı, output_hidden_states=True geçirildiğinde veya config.output_hidden_states=True olduğunda döndürülür) — torch.Tensor (modelin bir gömme katmanı varsa gömme katmanının çıktısı için bir tane + her katmanın çıktısı için birer tane) içeren, (batch_size, sequence_length, hidden_size) biçiminde bir demet.

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

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

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

VideoPrismClipModel

sınıf transformers.VideoPrismClipModel

< >

( config: VideoPrismConfig )

Parametreler

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

Video ve metin karşıtlı öğrenme için VideoPrism modeli. Bu model, bir VideoPrismVideoModel ve bir VideoPrismTextModel'den oluşur ve video ile metin girdileri arasındaki benzerlik puanlarını hesaplar.

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

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

forward

< >

( pixel_values_videos: Tensorinput_ids: Tensorattention_mask: typing.Optional[torch.Tensor] = Noneinterpolate_pos_encoding: bool | None = Falsetemperature: float | None = Nonereturn_loss: bool | None = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → VideoPrismClipOutput or tuple(torch.Tensor)

Parametreler

  • pixel_values_videos (torch.Tensor, şekli (batch_size, num_frames, num_channels, frame_size, frame_size)) — Girdi videosuna karşılık gelen tensörler. Videolar için piksel değerleri, LlavaOnevisionVideoProcessor kullanılarak elde edilebilir. Ayrıntılar için LlavaOnevisionVideoProcessor.call() bölümüne bakın (VideoPrismProcessor, videoları işlemek için LlavaOnevisionVideoProcessor kullanır).
  • input_ids (torch.Tensor şeklinde (batch_size, sequence_length)) — Girdi dizisi belirteçlerinin sözlükteki 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?

  • 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?

  • interpolate_pos_encoding (bool, isteğe bağlı, varsayılan False) — Önceden eğitilmiş konum kodlamalarının interpolasyonunun yapılıp yapılmayacağı.
  • temperature (float, isteğe bağlı) — Benzerlik puanlarını ölçeklemek için kullanılan bir sıcaklık skaleri. Verilmezse ölçekleme uygulanmaz.
  • return_loss (bool, isteğe bağlı) — Karşıtlık kaybının (contrastive loss) döndürülüp döndürülmeyeceği.

Dönüş değeri

VideoPrismClipOutput veya tuple(torch.Tensor)

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

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

  • logits_per_video (torch.Tensor, şekli (video_batch_size, text_batch_size)) — video_embeds ile text_embeds arasındaki ölçekli nokta çarpımı puanları. Bu, video-metin benzerlik puanlarını temsil eder.
  • logits_per_text (torch.Tensor, şekli (text_batch_size, video_batch_size)) — text_embeds ile video_embeds arasındaki ölçekli nokta çarpımı puanları. Bu, metin-video benzerlik puanlarını temsil eder.
  • video_embeds (torch.Tensor, şekli (batch_size, output_dim)) — VideoPrismVideoModel'ün havuzlanmış çıktısına projeksiyon katmanının uygulanmasıyla elde edilen video gömme değerleri.
  • text_embeds (torch.Tensor, şekli (batch_size, output_dim)) — VideoPrismTextModel'ün havuzlanmış çıktısına projeksiyon katmanının uygulanmasıyla elde edilen metin gömme değerleri.
  • video_model_output (~modeling_outputs.BaseModelOutputWithPooling, isteğe bağlı) — VideoPrismVideoModel'ün çıktısı.
  • text_model_output (~modeling_outputs.BaseModelOutputWithPooling, isteğe bağlı) — VideoPrismTextModel'ün çıktısı.
  • loss (torch.Tensor, şekli (1,), opsiyonel, return_loss True olduğunda döndürülür) — Video-metin benzerliği için kontrastif kayıp.

Örnek:

VideoPrismForVideoClassification

sınıf transformers.VideoPrismForVideoClassification

< >

( config: VideoPrismVisionConfig )

Parametreler

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

VideoPrism Model, dikkat birleştiricisinin (attention pooler) üzerine yerleştirilen doğrusal bir katman olan video sınıflandırma başlığına sahip bir transformer modelidir.

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

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

forward

< >

( pixel_values_videos: Tensorlabels: typing.Optional[torch.LongTensor] = Noneinterpolate_pos_encoding: bool | None = False**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → ImageClassifierOutput or tuple(torch.Tensor)

Parametreler

  • pixel_values_videos (torch.Tensor, şekli (batch_size, num_frames, num_channels, frame_size, frame_size)) — Girdi videosuna karşılık gelen tensörler. Videolar için piksel değerleri, LlavaOnevisionVideoProcessor kullanılarak elde edilebilir. Ayrıntılar için LlavaOnevisionVideoProcessor.call() bölümüne bakın (VideoPrismProcessor, videoları işlemek için LlavaOnevisionVideoProcessor kullanır).
  • labels (torch.LongTensor, şekli (batch_size,), isteğe bağlı) — Görüntü sınıflandırma/geri dönüşüm kaybını hesaplamak için etiketler. Endeksler [0, ..., config.num_labels - 1] aralığında olmalıdır. config.num_labels == 1 ise bir geri dönüşüm kaybı (Ortalama Kare kaybı) hesaplanır, config.num_labels > 1 ise bir sınıflandırma kaybı (Çapraz Entropi) hesaplanır.
  • interpolate_pos_encoding (bool, isteğe bağlı, varsayılan False) — Önceden eğitilmiş konum kodlamalarının interpolasyonunun yapılıp yapılmayacağı.

Dönüş değeri

ImageClassifierOutput veya tuple(torch.Tensor)

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

VideoPrismForVideoClassification forward metodu, __call__ özel metodunu geçersiz kılar.

İleri geçiş tarifi bu fonksiyon içinde tanımlanmalı olsa da, sonrasında bunun yerine Module örneğini çağırmak gerekir; çünkü önceki, ön ve son işleme adımlarını çalıştırmaktan sorumluyken ikincisi bunları sessizce yok sayar.

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

  • logits (torch.Tensor, şekli (batch_size, config.num_labels)) — Sınıflandırma (veya config.num_labels==1 ise regresyon) puanları (SoftMax öncesi).

  • hidden_states (tuple(torch.Tensor), isteğe bağlı, output_hidden_states=True geçirildiğinde veya config.output_hidden_states=True olduğunda döndürülür) — torch.Tensor (modelin bir gömme katmanı varsa gömme katmanının çıktısı için bir tane + her aşamanın çıktısı için birer tane) içeren bir tuple, şekli (batch_size, sequence_length, hidden_size). Modelin her aşamanın çıktısındaki gizli durumları (aynı zamanda özellik haritaları olarak da adlandırılır).

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

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

Örnek:

Update on GitHub