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

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
VideoPrismClipModelaracılığıyla video-metin karşıtlı öğrenmeyi destekler. Bu modelleVideoPrismConfigkullanı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
VideoPrismForVideoClassificationkullanın. Bu modelleVideoPrismVisionConfigkullanılması gerekir. - Görüntü kodlayıcı, video özellikleri çıkarmak için
VideoPrismVisionModelüzerinden bağımsız olarak kullanılabilir. Bu modelleVideoPrismVisionConfigkullanı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
< 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 = 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ılan288) — 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ılan3) — Giriş kanal sayısı. - hidden_size (
int, isteğe bağlı, varsayılan768) — Gizli temsillerin boyutu. - num_attention_heads (
int, isteğe bağlı, varsayılan12) — Transformer decoder'ındaki her dikkat katmanı için dikkat başı sayısı. - intermediate_size (
int, isteğe bağlı, varsayılan3072) — MLP temsillerinin boyutu. - hidden_act (
str, isteğe bağlı, varsayılangelu_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ılan0.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ılan0.0) — Dikkat olasılıkları için dropout oranı. - initializer_range (
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ı. - layer_norm_eps (
float, isteğe bağlı, varsayılan1e-06) — Katman normalizasyon katmanları tarafından kullanılan epsilon. - qkv_bias (
bool, isteğe bağlı, varsayılanTrue) — 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ılanTrue) — Çı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
< 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 = 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ılan32000) — Modelin sözlük boyutu.input_idstarafından temsil edilebilecek farklı token sayısını tanımlar. - hidden_size (
int, isteğe bağlı, varsayılan768) — Gizli temsillerin boyutu. - intermediate_size (
int, isteğe bağlı, varsayılan3072) — MLP temsillerinin boyutu. - num_hidden_layers (
int, isteğe bağlı, varsayılan12) — Transformer çözücüdeki gizli katman sayısı. - num_attention_heads (
int, isteğe bağlı, varsayılan12) — Transformer decoder'ındaki her dikkat katmanı için dikkat başı sayısı. - max_position_embeddings (
int, isteğe bağlı, varsayılan64) — Bu modelin kullanılabileceği maksimum dizi uzunluğu. - hidden_act (
str, isteğe bağlı, varsayılanrelu) — Çö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ılan1e-06) — Katman normalizasyon katmanları tarafından kullanılan epsilon. - pad_token_id (
int, isteğe bağlı, varsayılan0) — 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ılan0.0) — Dikkat olasılıkları için dropout oranı. - apply_l2norm (
bool, isteğe bağlı, varsayılanTrue) — VideoPrismTextEncoder çıktısına L2 normalizasyonu uygulanıp uygulanmayacağı. - qkv_bias (
bool, isteğe bağlı, varsayılanTrue) — Sorgulara, anahtarlara ve değerlere bir sapma eklenip eklenmeyeceği. - hidden_dropout_prob (
float, isteğe bağlı, varsayılan0.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ılan0.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
< 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 = Nonetext_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Nonevision_config: dict | transformers.configuration_utils.PreTrainedConfig | None = None )
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.configVideoPrismTokenizer
sınıf transformers.VideoPrismTokenizer
< source >( 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.
Sentinel token'ları için token kimliklerini alın.
additional_special_tokens'tan sentinel token listesini (extra_id tokenları) alın.
VideoPrismProcessor
sınıf transformers.VideoPrismProcessor
< source >( video_processor = Nonetokenizer = None )
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
< source >( 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
< source >( 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ılanFalse) — Ö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=Truegeçirildiğinde veyaconfig.output_hidden_states=Trueolduğ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=Truegeçirildiğinde veyaconfig.output_attentions=Trueolduğ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.
VideoPrismVideoModel
sınıf transformers.VideoPrismVideoModel
< source >( 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
< source >( 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ılanFalse) — Ö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=Truegeçirildiğinde veyaconfig.output_hidden_states=Trueolduğ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=Truegeçirildiğinde veyaconfig.output_attentions=Trueolduğ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
< source >( 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
< source >( 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.
- 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.
- inputs_embeds (
torch.Tensor, şekli(batch_size, sequence_length, hidden_size), isteğe bağlı) — İsteğe bağlı olarak,input_idsyerine gömülü bir temsil doğrudan geçmeyi tercih edebilirsiniz. Bu,input_idsdizinlerini 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].
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=Truegeçirildiğinde veyaconfig.output_hidden_states=Trueolduğ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=Truegeçirildiğinde veyaconfig.output_attentions=Trueolduğ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
< source >( 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
< source >( 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.
- 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.
- interpolate_pos_encoding (
bool, isteğe bağlı, varsayılanFalse) — Ö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_embedsiletext_embedsarası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_embedsilevideo_embedsarası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_lossTrueolduğunda döndürülür) — Video-metin benzerliği için kontrastif kayıp.
VideoPrismForVideoClassification
sınıf transformers.VideoPrismForVideoClassification
< source >( 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
< source >( 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 == 1ise bir geri dönüşüm kaybı (Ortalama Kare kaybı) hesaplanır,config.num_labels > 1ise bir sınıflandırma kaybı (Çapraz Entropi) hesaplanır. - interpolate_pos_encoding (
bool, isteğe bağlı, varsayılanFalse) — Ö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ı,labelssağ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=Truegeçirildiğinde veyaconfig.output_hidden_states=Trueolduğ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=Truegeçirildiğinde veyaconfig.output_attentions=Trueolduğ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.