Transformers documentation
VideoPrism
Model ini dipublikasikan di HF papers pada 2024-02-20 dan disumbangkan ke Hugging Face Transformers pada 2026-06-19.
VideoPrism
Model VideoPrism diusulkan dalam makalah VideoPrism: A Foundational Visual Encoder for Video Understanding oleh Google DeepMind (blog post).
VideoPrism adalah encoder video serbaguna yang menangani berbagai tugas pemahaman video dengan satu model beku. Model ini dilatih sebelumnya pada korpus heterogen berskala besar yang berisi 36 juta pasangan video-keterangan berkualitas tinggi dan 582 juta klip video dengan teks paralel berisik (misalnya, transkrip ASR). Pendekatan pra-pelatihan ini meningkatkan masked autoencoding melalui distilasi global-lokal dari embedding video semantik dan skema pengacakan token, sehingga memungkinkan model untuk berfokus terutama pada modalitas video sambil memanfaatkan teks yang terkait dengan video. VideoPrism mencapai kinerja state-of-the-art pada 31 dari 33 benchmark pemahaman video di empat kelompok tugas luas, mulai dari penjawab pertanyaan video web hingga computer vision untuk sains.

Anda dapat menemukan semua checkpoint asli VideoPrism di bawah koleksi VideoPrism.
Catatan:
- VideoPrism menggunakan arsitektur encoder spatio-temporal yang terfaktor, memproses video melalui transformer spasial dan temporal yang terpisah.
- Model ini mendukung pembelajaran kontras video-teks melalui
VideoPrismClipModel, yang menggabungkan encoder video dan encoder teks.VideoPrismConfigharus digunakan bersama model ini. - Untuk tugas klasifikasi video, gunakan
VideoPrismForVideoClassificationyang menambahkan kepala klasifikasi di atas encoder video.VideoPrismVisionConfigharus digunakan dengan model ini. - Vision encoder dapat digunakan secara mandiri melalui
VideoPrismVisionModeluntuk mengekstrak fitur video.VideoPrismVisionConfigharus digunakan bersama model ini. - Resolusi input default adalah 288x288 piksel dengan 16 frame per klip video untuk model dasar dan 8 frame untuk model besar. Atur interpolate_pos_encoding=True untuk menggunakan model dengan resolusi dan jumlah frame per klip yang kustom.
Model ini disumbangkan oleh MHRDYN7 dan ditinjau oleh vasqu & zucchini-nlp. Kode aslinya dapat ditemukan di sini.
Contoh penggunaan
Snippet di bawah ini menunjukkan cara memuat VideoPrismVisionModel untuk ekstraksi fitur menggunakan kelas AutoModel.
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
kelas 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 )
Parameter
- image_size (
Union[int, list[int], tuple[int, int]], opsional, defaultnya288) — Ukuran (resolusi) dari setiap gambar. - num_frames (
int, opsional, default 16) — Jumlah frame dalam video input. - tubelet_size (
List[int], opsional, default[1, 18, 18]) — Ukuran patch tubelet. - num_channels (
int, opsional, defaultnya3) — Jumlah saluran input. - hidden_size (
int, opsional, default768) — Dimensi dari representasi tersembunyi. - num_attention_heads (
int, opsional, default12) — Jumlah attention head untuk setiap lapisan attention di decoder Transformer. - intermediate_size (
int, opsional, default3072) — Dimensi representasi MLP. - hidden_act (
str, opsional, defaultgelu_python) — Fungsi aktivasi non-linear (fungsi atau string) di decoder. Misalnya,"gelu","relu","silu", dan sebagainya. - hidden_dropout_prob (
Union[float, int], opsional, default0.0) — Probabilitas dropout untuk semua lapisan fully connected di embeddings, encoder, dan pooler. - attention_probs_dropout_prob (
Union[float, int], opsional, default0.0) — Rasio dropout untuk probabilitas perhatian. - initializer_range (
float, opsional, defaultnya0.02) — Standar deviasi dari truncated_normal_initializer untuk menginisialisasi semua matriks bobot. - layer_norm_eps (
float, opsional, defaultnya1e-06) — Epsilon yang digunakan oleh lapisan normalisasi lapisan. - qkv_bias (
bool, opsional, defaultnyaTrue) — Apakah akan menambahkan bias ke queries, keys, dan values. - num_spatial_layers (
int, opsional, default 12) — Jumlah blok transformer spasial. - num_temporal_layers (
int, opsional, default 4) — Jumlah blok transformer temporal. - attn_logit_softcapping (
float, opsional, default 50.0) — Konstanta softcapping untuk logit perhatian. - num_auxiliary_layers (
int, opsional, default 2) — Jumlah lapisan bantu. Ini digunakan dalam VideoPrismVideoModel yang merupakan bagian dari VideoPrismClipModel. - apply_l2norm (
bool, opsional, defaultTrue) — Apakah akan menerapkan normalisasi L2 ke output. Ini digunakan dalam VideoPrismVideoModel yang merupakan bagian dari VideoPrismClipModel.
Ini adalah kelas konfigurasi untuk menyimpan konfigurasi dari VideoPrismClipModel. Kelas ini digunakan untuk membuat instans model Videoprism berdasarkan argumen yang ditentukan, sehingga mendefinisikan arsitektur model. Membuat instans konfigurasi dengan nilai bawaan akan menghasilkan konfigurasi yang serupa dengan konfigurasi dari google/videoprism-base-f16r288
Objek konfigurasi mewarisi dari PreTrainedConfig dan dapat digunakan untuk mengontrol output model. Baca dokumentasi dari PreTrainedConfig untuk informasi lebih lanjut.
VideoPrismTextConfig
kelas 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 )
Parameter
- vocab_size (
int, opsional, default32000) — Ukuran kosakata model. Menentukan jumlah token berbeda yang dapat direpresentasikan olehinput_ids. - hidden_size (
int, opsional, default768) — Dimensi dari representasi tersembunyi. - intermediate_size (
int, opsional, default3072) — Dimensi representasi MLP. - num_hidden_layers (
int, opsional, default12) — Jumlah lapisan tersembunyi dalam decoder Transformer. - num_attention_heads (
int, opsional, default12) — Jumlah attention head untuk setiap lapisan attention di decoder Transformer. - max_position_embeddings (
int, opsional, default64) — Panjang maksimum sekuens yang mungkin digunakan dengan model ini. - hidden_act (
str, opsional, defaultnyarelu) — Fungsi aktivasi non-linear (fungsi atau string) di decoder. Misalnya,"gelu","relu","silu", dan sebagainya. - layer_norm_eps (
float, opsional, defaultnya1e-06) — Epsilon yang digunakan oleh lapisan normalisasi lapisan. - pad_token_id (
int, opsional, default0) — ID token yang digunakan untuk padding dalam kosakata. - bos_token_id (
int, opsional) — ID token yang digunakan untuk awal aliran (beginning-of-stream) dalam kosakata. - eos_token_id (
Union[int, list[int]], opsional) — ID token yang digunakan untuk akhir aliran dalam kosakata. - attention_probs_dropout_prob (
Union[float, int], opsional, default0.0) — Rasio dropout untuk probabilitas perhatian. - apply_l2norm (
bool, opsional, defaultTrue) — Apakah akan menerapkan normalisasi L2 pada output dari VideoPrismTextEncoder. - qkv_bias (
bool, opsional, defaultnyaTrue) — Apakah akan menambahkan bias ke queries, keys, dan values. - hidden_dropout_prob (
float, opsional, default0.0) — Probabilitas dropout untuk semua lapisan fully connected di embeddings, encoder, dan pooler. - initializer_range (
float, opsional, defaultnya0.02) — Standar deviasi dari truncated_normal_initializer untuk menginisialisasi semua matriks bobot. - attn_logit_softcapping (
float, opsional, default 50.0) — Konstanta softcapping untuk logit perhatian.
Ini adalah kelas konfigurasi untuk menyimpan konfigurasi dari VideoPrismClipModel. Kelas ini digunakan untuk membuat instans model Videoprism berdasarkan argumen yang ditentukan, sehingga mendefinisikan arsitektur model. Membuat instans konfigurasi dengan nilai bawaan akan menghasilkan konfigurasi yang serupa dengan konfigurasi dari google/videoprism-lvt-base-f16r288
Objek konfigurasi mewarisi dari PreTrainedConfig dan dapat digunakan untuk mengontrol output model. Baca dokumentasi dari PreTrainedConfig untuk informasi lebih lanjut.
VideoPrismConfig
kelas 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 )
Ini adalah kelas konfigurasi untuk menyimpan konfigurasi dari VideoPrismClipModel. Kelas ini digunakan untuk menginstansiasi model Videoprism berdasarkan argumen yang ditentukan, sehingga mendefinisikan arsitektur model. Menginstansiasi konfigurasi dengan nilai bawaan akan menghasilkan konfigurasi yang serupa dengan konfigurasi dari google/videoprism-lvt-base-f16r288
Objek konfigurasi mewarisi dari PreTrainedConfig dan dapat digunakan untuk mengontrol output model. Baca dokumentasi dari PreTrainedConfig untuk informasi lebih lanjut.
Contoh:
>>> 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
kelas 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 )
Membangun tokenizer VideoPrism, yang pada dasarnya adalah tokenizer T5 tanpa postprocessor-nya (menambahkan token EOS di akhir urutan).
Tokenizer ini mewarisi dari T5Tokenizer yang berisi sebagian besar metode utama. Pengguna sebaiknya merujuk ke superclass ini untuk informasi lebih lanjut mengenai metode-metode tersebut.
Dapatkan ID token untuk token sentinel.
Dapatkan daftar token sentinel (token extra_id) dari additional_special_tokens.
VideoPrismProcessor
kelas transformers.VideoPrismProcessor
< source >( video_processor = Nonetokenizer = None )
Membangun VideoPrismProcessor yang membungkus video processor dan tokenizer menjadi satu processor.
VideoPrismProcessor menyediakan semua fungsionalitas dari LlavaOnevisionVideoProcessor dan VideoPrismTokenizer. Lihat ~LlavaOnevisionVideoProcessor dan ~VideoPrismTokenizer untuk informasi lebih lanjut.
VideoPrismVisionModel
kelas transformers.VideoPrismVisionModel
< source >( config: VideoPrismVisionConfig )
Parameter
- config (VideoPrismVisionConfig) — Kelas konfigurasi model dengan semua parameter model. Inisialisasi dengan file konfigurasi tidak memuat bobot yang terkait dengan model, hanya konfigurasinya. Lihat metode from_pretrained() untuk memuat bobot model.
Output dari encoder visual VideoPrism yang mentah, menghasilkan hidden-states mentah tanpa head spesifik di atasnya. Model ini adalah encoder backbone yang digunakan dalam VideoPrismVideoModel.
Model ini mewarisi dari PreTrainedModel. Periksa dokumentasi kelas induk untuk metode generik yang diimplementasikan oleh pustaka untuk semua model (seperti mengunduh atau menyimpan, mengubah ukuran embedding input, memangkas kepala, dll.)
Model ini juga merupakan subclass dari torch.nn.Module PyTorch. Gunakan sebagai PyTorch Module biasa dan merujuk ke dokumentasi PyTorch untuk semua hal yang berkaitan dengan penggunaan dan perilaku umum.
forward
< source >( pixel_values_videos: typing.Optional[torch.FloatTensor] = Noneinterpolate_pos_encoding: bool | None = False**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → BaseModelOutputWithSpatialAndTemporalStates or tuple(torch.FloatTensor)
Parameter
- pixel_values_videos (
torch.FloatTensordengan bentuk(batch_size, num_frames, num_channels, frame_size, frame_size), opsional) — Tensor yang sesuai dengan video input. Nilai piksel untuk video dapat diperoleh menggunakan LlavaOnevisionVideoProcessor. Lihat LlavaOnevisionVideoProcessor.call() untuk detailnya (VideoPrismProcessor menggunakan LlavaOnevisionVideoProcessor untuk memproses video). - interpolate_pos_encoding (
bool, opsional, defaultFalse) — Apakah akan menginterpolasi posisi encoding yang telah dilatih sebelumnya.
Mengembalikan
BaseModelOutputWithSpatialAndTemporalStates atau tuple(torch.FloatTensor)
BaseModelOutputWithSpatialAndTemporalStates atau tuple dari
torch.FloatTensor (jika return_dict=False dilewatkan atau ketika config.return_dict=False) yang terdiri dari berbagai
elemen tergantung pada konfigurasi (VideoPrismConfig) dan input.
Metode forward dari VideoPrismVisionModel menimpa metode khusus __call__.
Meskipun resep untuk forward pass perlu didefinisikan di dalam fungsi ini, sebaiknya panggil instance
Modulesetelahnya alih-alih fungsi ini, karena yang pertama menangani langkah-langkah pra-pemrosesan dan pasca-pemrosesan, sedangkan yang kedua mengabaikannya secara diam-diam.
last_hidden_state (
torch.FloatTensordengan bentuk(batch_size, sequence_length, hidden_size)) — Urutan hidden-states pada keluaran lapisan terakhir model.hidden_states (
tuple(torch.FloatTensor), opsional, dikembalikan saatoutput_hidden_states=Truedilewatkan atau saatconfig.output_hidden_states=True) — Tuple daritorch.FloatTensor(satu untuk output dari embeddings, jika model memiliki lapisan embedding, + satu untuk output dari setiap lapisan) dengan bentuk(batch_size, sequence_length, hidden_size).Hidden-states model pada output setiap layer ditambah output embedding awal yang opsional.
attentions (
tuple(torch.FloatTensor), opsional, dikembalikan saatoutput_attentions=Truedilewatkan atau saatconfig.output_attentions=True) — Tuple daritorch.FloatTensor(satu untuk setiap layer) dengan bentuk(batch_size, num_heads, sequence_length, sequence_length).Bobot perhatian setelah softmax perhatian, digunakan untuk menghitung rata-rata berbobot di kepala perhatian diri (self-attention).
last_temporal_hidden_state (
torch.FloatTensor, opsional) — Hidden state terakhir dari encoder temporal, biasanya dengan bentuk(batch_size * num_patches, num_frames, hidden_size).last_spatial_hidden_state (
torch.FloatTensor, opsional) — Hidden state terakhir dari spatial encoder, biasanya dengan bentuk(batch_size * num_frames, num_patches, hidden_size).
VideoPrismVideoModel
kelas transformers.VideoPrismVideoModel
< source >( config: VideoPrismVisionConfig )
Parameter
- config (VideoPrismVisionConfig) — Kelas konfigurasi model dengan semua parameter model. Inisialisasi dengan file konfigurasi tidak memuat bobot yang terkait dengan model, hanya konfigurasinya. Lihat metode from_pretrained() untuk memuat bobot model.
Model video VideoPrism yang terdiri dari backbone encoder visual dengan lapisan encoder tambahan dan kepala attention pooling di atasnya. Model ini digunakan dalam VideoPrismClipModel.
Model ini mewarisi dari PreTrainedModel. Periksa dokumentasi kelas induk untuk metode generik yang diimplementasikan oleh pustaka untuk semua model (seperti mengunduh atau menyimpan, mengubah ukuran embedding input, memangkas kepala, dll.)
Model ini juga merupakan subclass dari torch.nn.Module PyTorch. Gunakan sebagai PyTorch Module biasa dan merujuk ke dokumentasi PyTorch untuk semua hal yang berkaitan dengan penggunaan dan perilaku umum.
forward
< source >( pixel_values_videos: FloatTensorinterpolate_pos_encoding: bool | None = False**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → BaseModelOutputWithPooling or tuple(torch.FloatTensor)
Parameter
- pixel_values_videos (
torch.FloatTensordengan bentuk(batch_size, num_frames, num_channels, frame_size, frame_size)) — Tensor yang sesuai dengan video input. Nilai piksel untuk video dapat diperoleh menggunakan LlavaOnevisionVideoProcessor. Lihat LlavaOnevisionVideoProcessor.call() untuk detailnya (VideoPrismProcessor menggunakan LlavaOnevisionVideoProcessor untuk memproses video). - interpolate_pos_encoding (
bool, opsional, defaultFalse) — Apakah akan menginterpolasi posisi encoding yang telah dilatih sebelumnya.
Mengembalikan
BaseModelOutputWithPooling atau tuple(torch.FloatTensor)
A BaseModelOutputWithPooling atau tuple dari
torch.FloatTensor (jika return_dict=False dilewatkan atau ketika config.return_dict=False) yang terdiri dari berbagai
elemen tergantung pada konfigurasi (VideoPrismConfig) dan input.
Metode forward dari VideoPrismVideoModel menimpa metode khusus __call__.
Meskipun resep untuk forward pass perlu didefinisikan di dalam fungsi ini, sebaiknya panggil instance
Modulesetelahnya alih-alih fungsi ini, karena yang pertama menangani langkah-langkah pra-pemrosesan dan pasca-pemrosesan, sedangkan yang kedua mengabaikannya secara diam-diam.
last_hidden_state (
torch.FloatTensordengan bentuk(batch_size, sequence_length, hidden_size)) — Urutan hidden-states pada keluaran lapisan terakhir model.pooler_output (
torch.FloatTensordengan bentuk(batch_size, hidden_size)) — State tersembunyi dari lapisan terakhir untuk token pertama dalam urutan (token klasifikasi) setelah diproses lebih lanjut melalui lapisan yang digunakan untuk tugas pra-pelatihan tambahan. Misalnya, untuk keluarga model BERT, ini mengembalikan token klasifikasi setelah diproses melalui lapisan linear dan fungsi aktivasi tanh. Bobot lapisan linear dilatih dari tujuan prediksi kalimat berikutnya (klasifikasi) selama pra-pelatihan.hidden_states (
tuple(torch.FloatTensor), opsional, dikembalikan saatoutput_hidden_states=Truedilewatkan atau saatconfig.output_hidden_states=True) — Tuple daritorch.FloatTensor(satu untuk output dari embeddings, jika model memiliki lapisan embedding, + satu untuk output dari setiap lapisan) dengan bentuk(batch_size, sequence_length, hidden_size).Hidden-states model pada output setiap layer ditambah output embedding awal yang opsional.
attentions (
tuple(torch.FloatTensor), opsional, dikembalikan saatoutput_attentions=Truedilewatkan atau saatconfig.output_attentions=True) — Tuple daritorch.FloatTensor(satu untuk setiap layer) dengan bentuk(batch_size, num_heads, sequence_length, sequence_length).Bobot perhatian setelah softmax perhatian, digunakan untuk menghitung rata-rata berbobot di kepala perhatian diri (self-attention).
VideoPrismTextModel
kelas transformers.VideoPrismTextModel
< source >( config: VideoPrismTextConfig )
Parameter
- config (VideoPrismTextConfig) — Kelas konfigurasi model dengan semua parameter model. Inisialisasi dengan file konfigurasi tidak memuat bobot yang terkait dengan model, hanya konfigurasinya. Lihat metode from_pretrained() untuk memuat bobot model.
Output dari encoder teks VideoPrism polos yang menghasilkan last hidden states tanpa head spesifik di atasnya. Model ini digunakan dalam VideoPrismClipModel.
Model ini mewarisi dari PreTrainedModel. Periksa dokumentasi kelas induk untuk metode generik yang diimplementasikan oleh pustaka untuk semua model (seperti mengunduh atau menyimpan, mengubah ukuran embedding input, memangkas kepala, dll.)
Model ini juga merupakan subclass dari torch.nn.Module PyTorch. Gunakan sebagai PyTorch Module biasa dan merujuk ke dokumentasi PyTorch untuk semua hal yang berkaitan dengan penggunaan dan perilaku umum.
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.FloatTensor)
Parameter
- input_ids (
torch.LongTensordengan bentuk(batch_size, sequence_length), opsional) — Indeks token dari urutan input dalam kosakata. Padding akan diabaikan secara default.Indeks dapat diperoleh menggunakan AutoTokenizer. Lihat PreTrainedTokenizer.encode() dan PreTrainedTokenizer.call() untuk detailnya.
- attention_mask (
torch.Tensordengan bentuk(batch_size, sequence_length), opsional) — Mask untuk menghindari eksekusi attention pada indeks token padding. Nilai mask dipilih dari[0, 1]:- 1 untuk token yang tidak dimasker,
- 0 untuk token yang dimasker.
- inputs_embeds (
torch.Tensordengan bentuk(batch_size, sequence_length, hidden_size), opsional) — Secara opsional, alih-alih meneruskaninput_ids, Anda dapat memilih untuk langsung meneruskan representasi tertanam. Hal ini berguna jika Anda ingin memiliki kendali lebih atas cara mengonversi indeksinput_idsmenjadi vektor terkait, dibandingkan dengan matriks pencarian penanaman internal model. - position_ids (
torch.Tensordengan bentuk(batch_size, sequence_length), opsional) — Indeks posisi token dari setiap urutan input dalam position embeddings. Dipilih dalam rentang[0, config.n_positions - 1].
Mengembalikan
BaseModelOutputWithPooling atau tuple(torch.FloatTensor)
A BaseModelOutputWithPooling atau tuple dari
torch.FloatTensor (jika return_dict=False dilewatkan atau ketika config.return_dict=False) yang terdiri dari berbagai
elemen tergantung pada konfigurasi (VideoPrismConfig) dan input.
Metode forward dari VideoPrismTextModel menimpa metode khusus __call__.
Meskipun resep untuk forward pass perlu didefinisikan di dalam fungsi ini, sebaiknya panggil instance
Modulesetelahnya alih-alih fungsi ini, karena yang pertama menangani langkah-langkah pra-pemrosesan dan pasca-pemrosesan, sedangkan yang kedua mengabaikannya secara diam-diam.
last_hidden_state (
torch.FloatTensordengan bentuk(batch_size, sequence_length, hidden_size)) — Urutan hidden-states pada keluaran lapisan terakhir model.pooler_output (
torch.FloatTensordengan bentuk(batch_size, hidden_size)) — State tersembunyi dari lapisan terakhir untuk token pertama dalam urutan (token klasifikasi) setelah diproses lebih lanjut melalui lapisan yang digunakan untuk tugas pra-pelatihan tambahan. Misalnya, untuk keluarga model BERT, ini mengembalikan token klasifikasi setelah diproses melalui lapisan linear dan fungsi aktivasi tanh. Bobot lapisan linear dilatih dari tujuan prediksi kalimat berikutnya (klasifikasi) selama pra-pelatihan.hidden_states (
tuple(torch.FloatTensor), opsional, dikembalikan saatoutput_hidden_states=Truedilewatkan atau saatconfig.output_hidden_states=True) — Tuple daritorch.FloatTensor(satu untuk output dari embeddings, jika model memiliki lapisan embedding, + satu untuk output dari setiap lapisan) dengan bentuk(batch_size, sequence_length, hidden_size).Hidden-states model pada output setiap layer ditambah output embedding awal yang opsional.
attentions (
tuple(torch.FloatTensor), opsional, dikembalikan saatoutput_attentions=Truedilewatkan atau saatconfig.output_attentions=True) — Tuple daritorch.FloatTensor(satu untuk setiap layer) dengan bentuk(batch_size, num_heads, sequence_length, sequence_length).Bobot perhatian setelah softmax perhatian, digunakan untuk menghitung rata-rata berbobot di kepala perhatian diri (self-attention).
VideoPrismClipModel
kelas transformers.VideoPrismClipModel
< source >( config: VideoPrismConfig )
Parameter
- config (VideoPrismConfig) — Kelas konfigurasi model dengan semua parameter model. Inisialisasi dengan file konfigurasi tidak memuat bobot yang terkait dengan model, hanya konfigurasinya. Lihat metode from_pretrained() untuk memuat bobot model.
Model VideoPrism untuk pembelajaran kontras video-teks. Model ini terdiri dari VideoPrismVideoModel dan VideoPrismTextModel, serta menghitung skor kemiripan antara input video dan teks.
Model ini mewarisi dari PreTrainedModel. Periksa dokumentasi kelas induk untuk metode generik yang diimplementasikan oleh pustaka untuk semua model (seperti mengunduh atau menyimpan, mengubah ukuran embedding input, memangkas kepala, dll.)
Model ini juga merupakan subclass dari torch.nn.Module PyTorch. Gunakan sebagai PyTorch Module biasa dan merujuk ke dokumentasi PyTorch untuk semua hal yang berkaitan dengan penggunaan dan perilaku umum.
forward
< source >( pixel_values_videos: FloatTensorinput_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.FloatTensor)
Parameter
- pixel_values_videos (
torch.FloatTensordengan bentuk(batch_size, num_frames, num_channels, frame_size, frame_size)) — Tensor yang sesuai dengan video input. Nilai piksel untuk video dapat diperoleh menggunakan LlavaOnevisionVideoProcessor. Lihat LlavaOnevisionVideoProcessor.call() untuk detailnya (VideoPrismProcessor menggunakan LlavaOnevisionVideoProcessor untuk memproses video). - input_ids (
torch.Tensordengan bentuk(batch_size, sequence_length)) — Indeks token dari urutan input dalam kosakata. Padding akan diabaikan secara default. Indeks dapat diperoleh menggunakan AutoTokenizer. Lihat PreTrainedTokenizer.encode() dan PreTrainedTokenizer.call() untuk detailnya. Apa itu input ID?Indeks dapat diperoleh menggunakan AutoTokenizer. Lihat PreTrainedTokenizer.encode() dan PreTrainedTokenizer.call() untuk detailnya.
- attention_mask (
torch.Tensordengan bentuk(batch_size, sequence_length), opsional) — Mask untuk menghindari eksekusi attention pada indeks token padding. Nilai mask dipilih dari[0, 1]:- 1 untuk token yang tidak dimasker,
- 0 untuk token yang dimasker.
- interpolate_pos_encoding (
bool, opsional, defaultFalse) — Apakah akan menginterpolasi posisi encoding yang telah dilatih sebelumnya. - temperature (
float, opsional) — Skalar suhu untuk menskalakan skor kemiripan. Jika tidak diberikan, tidak ada penskalaan yang diterapkan. - return_loss (
bool, opsional) — Apakah akan mengembalikan kerugian kontras (contrastive loss).
Mengembalikan
VideoPrismClipOutput atau tuple(torch.FloatTensor)
VideoPrismClipOutput atau tuple dari
torch.FloatTensor (jika return_dict=False dilewatkan atau ketika config.return_dict=False) yang terdiri dari berbagai
elemen tergantung pada konfigurasi (VideoPrismConfig) dan input.
Metode forward dari VideoPrismClipModel menimpa metode khusus __call__.
Meskipun resep untuk forward pass perlu didefinisikan di dalam fungsi ini, sebaiknya panggil instance
Modulesetelahnya alih-alih fungsi ini, karena yang pertama menangani langkah-langkah pra-pemrosesan dan pasca-pemrosesan, sedangkan yang kedua mengabaikannya secara diam-diam.
- logits_per_video (
torch.FloatTensordengan bentuk(video_batch_size, text_batch_size)) — Skor hasil perkalian titik berskala antaravideo_embedsdantext_embeds. Ini mewakili skor kemiripan video-teks. - logits_per_text (
torch.FloatTensordengan bentuk(text_batch_size, video_batch_size)) — Skor hasil perkalian titik berskala antaratext_embedsdanvideo_embeds. Ini mewakili skor kemiripan teks-video. - video_embeds (
torch.FloatTensordengan bentuk(batch_size, output_dim)) — Embedding video yang diperoleh dengan menerapkan lapisan proyeksi ke output terpool dari VideoPrismVideoModel. - text_embeds (
torch.FloatTensordengan bentuk(batch_size, output_dim)) — Embedding teks yang diperoleh dengan menerapkan lapisan proyeksi ke output terpool dari VideoPrismTextModel. - video_model_output (
~modeling_outputs.BaseModelOutputWithPooling, opsional) — Output dari VideoPrismVideoModel. - text_model_output (
~modeling_outputs.BaseModelOutputWithPooling, opsional) — Output dari VideoPrismTextModel. - loss (
torch.FloatTensordengan bentuk(1,), opsional, dikembalikan ketikareturn_lossbernilaiTrue) — Contrastive loss untuk kesamaan video-teks.
VideoPrismForVideoClassification
kelas transformers.VideoPrismForVideoClassification
< source >( config: VideoPrismVisionConfig )
Parameter
- config (VideoPrismVisionConfig) — Kelas konfigurasi model dengan semua parameter model. Inisialisasi dengan file konfigurasi tidak memuat bobot yang terkait dengan model, hanya konfigurasinya. Lihat metode from_pretrained() untuk memuat bobot model.
Model transformer VideoPrism dengan kepala klasifikasi video di atasnya (lapisan linear di atas attention pooler).
Model ini mewarisi dari PreTrainedModel. Periksa dokumentasi kelas induk untuk metode generik yang diimplementasikan oleh pustaka untuk semua model (seperti mengunduh atau menyimpan, mengubah ukuran embedding input, memangkas kepala, dll.)
Model ini juga merupakan subclass dari torch.nn.Module PyTorch. Gunakan sebagai PyTorch Module biasa dan merujuk ke dokumentasi PyTorch untuk semua hal yang berkaitan dengan penggunaan dan perilaku umum.
forward
< source >( pixel_values_videos: FloatTensorlabels: typing.Optional[torch.LongTensor] = Noneinterpolate_pos_encoding: bool | None = False**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → ImageClassifierOutput or tuple(torch.FloatTensor)
Parameter
- pixel_values_videos (
torch.FloatTensordengan bentuk(batch_size, num_frames, num_channels, frame_size, frame_size)) — Tensor yang sesuai dengan video input. Nilai piksel untuk video dapat diperoleh menggunakan LlavaOnevisionVideoProcessor. Lihat LlavaOnevisionVideoProcessor.call() untuk detailnya (VideoPrismProcessor menggunakan LlavaOnevisionVideoProcessor untuk memproses video). - labels (
torch.LongTensordengan bentuk(batch_size,), opsional) — Label untuk menghitung loss klasifikasi/regresi gambar. Indeks harus berada dalam[0, ..., config.num_labels - 1]. Jikaconfig.num_labels == 1, loss regresi dihitung (Mean-Square loss). Jikaconfig.num_labels > 1, loss klasifikasi dihitung (Cross-Entropy). - interpolate_pos_encoding (
bool, opsional, defaultFalse) — Apakah akan menginterpolasi posisi encoding yang telah dilatih sebelumnya.
Mengembalikan
ImageClassifierOutput atau tuple(torch.FloatTensor)
ImageClassifierOutput atau tuple dari
torch.FloatTensor (jika return_dict=False diteruskan atau ketika config.return_dict=False) yang terdiri dari berbagai
elemen tergantung pada konfigurasi (VideoPrismConfig) dan input.
Metode forward dari VideoPrismForVideoClassification menimpa metode khusus __call__.
Meskipun resep untuk forward pass perlu didefinisikan di dalam fungsi ini, sebaiknya panggil instance
Modulesetelahnya alih-alih fungsi ini, karena yang pertama menangani langkah-langkah pra-pemrosesan dan pasca-pemrosesan, sedangkan yang kedua mengabaikannya secara diam-diam.
loss (
torch.FloatTensordengan bentuk(1,), opsional, dikembalikan saatlabelsdisediakan) — Loss klasifikasi (atau regresi jika config.num_labels==1).logits (
torch.FloatTensordengan bentuk(batch_size, config.num_labels)) — Skor klasifikasi (atau regresi jika config.num_labels==1) (sebelum SoftMax).hidden_states (
tuple(torch.FloatTensor), opsional, dikembalikan saatoutput_hidden_states=Truedilewatkan atau saatconfig.output_hidden_states=True) — Tuple daritorch.FloatTensor(satu untuk output dari embeddings, jika model memiliki lapisan embedding, + satu untuk output dari setiap tahap) dengan bentuk(batch_size, sequence_length, hidden_size). Hidden-states (juga disebut feature maps) dari model pada output dari setiap tahap.attentions (
tuple(torch.FloatTensor), opsional, dikembalikan saatoutput_attentions=Truedilewatkan atau saatconfig.output_attentions=True) — Tuple daritorch.FloatTensor(satu untuk setiap layer) dengan bentuk(batch_size, num_heads, patch_size, sequence_length).Bobot perhatian setelah softmax perhatian, digunakan untuk menghitung rata-rata berbobot di kepala perhatian diri (self-attention).