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

Model ini dipublikasikan di HF papers pada 2024-02-20 dan disumbangkan ke Hugging Face Transformers pada 2026-06-19.

FlashAttention

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.

drawing

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. VideoPrismConfig harus digunakan bersama model ini.
  • Untuk tugas klasifikasi video, gunakan VideoPrismForVideoClassification yang menambahkan kepala klasifikasi di atas encoder video. VideoPrismVisionConfig harus digunakan dengan model ini.
  • Vision encoder dapat digunakan secara mandiri melalui VideoPrismVisionModel untuk mengekstrak fitur video. VideoPrismVisionConfig harus 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

< >

( 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, defaultnya 288) — 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, defaultnya 3) — Jumlah saluran input.
  • hidden_size (int, opsional, default 768) — Dimensi dari representasi tersembunyi.
  • num_attention_heads (int, opsional, default 12) — Jumlah attention head untuk setiap lapisan attention di decoder Transformer.
  • intermediate_size (int, opsional, default 3072) — Dimensi representasi MLP.
  • hidden_act (str, opsional, default gelu_python) — Fungsi aktivasi non-linear (fungsi atau string) di decoder. Misalnya, "gelu", "relu", "silu", dan sebagainya.
  • hidden_dropout_prob (Union[float, int], opsional, default 0.0) — Probabilitas dropout untuk semua lapisan fully connected di embeddings, encoder, dan pooler.
  • attention_probs_dropout_prob (Union[float, int], opsional, default 0.0) — Rasio dropout untuk probabilitas perhatian.
  • initializer_range (float, opsional, defaultnya 0.02) — Standar deviasi dari truncated_normal_initializer untuk menginisialisasi semua matriks bobot.
  • layer_norm_eps (float, opsional, defaultnya 1e-06) — Epsilon yang digunakan oleh lapisan normalisasi lapisan.
  • qkv_bias (bool, opsional, defaultnya True) — 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, default True) — 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

< >

( 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, default 32000) — Ukuran kosakata model. Menentukan jumlah token berbeda yang dapat direpresentasikan oleh input_ids.
  • hidden_size (int, opsional, default 768) — Dimensi dari representasi tersembunyi.
  • intermediate_size (int, opsional, default 3072) — Dimensi representasi MLP.
  • num_hidden_layers (int, opsional, default 12) — Jumlah lapisan tersembunyi dalam decoder Transformer.
  • num_attention_heads (int, opsional, default 12) — Jumlah attention head untuk setiap lapisan attention di decoder Transformer.
  • max_position_embeddings (int, opsional, default 64) — Panjang maksimum sekuens yang mungkin digunakan dengan model ini.
  • hidden_act (str, opsional, defaultnya relu) — Fungsi aktivasi non-linear (fungsi atau string) di decoder. Misalnya, "gelu", "relu", "silu", dan sebagainya.
  • layer_norm_eps (float, opsional, defaultnya 1e-06) — Epsilon yang digunakan oleh lapisan normalisasi lapisan.
  • pad_token_id (int, opsional, default 0) — 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, default 0.0) — Rasio dropout untuk probabilitas perhatian.
  • apply_l2norm (bool, opsional, default True) — Apakah akan menerapkan normalisasi L2 pada output dari VideoPrismTextEncoder.
  • qkv_bias (bool, opsional, defaultnya True) — Apakah akan menambahkan bias ke queries, keys, dan values.
  • hidden_dropout_prob (float, opsional, default 0.0) — Probabilitas dropout untuk semua lapisan fully connected di embeddings, encoder, dan pooler.
  • initializer_range (float, opsional, defaultnya 0.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

< >

( 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 )

Parameter

  • text_config (Union[dict, ~configuration_utils.PreTrainedConfig], opsional) — Objek config atau dictionary dari text backbone.
  • vision_config (Union[dict, ~configuration_utils.PreTrainedConfig], opsional) — Objek config atau dictionary dari vision backbone.

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

VideoPrismTokenizer

kelas 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 )

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.

get_sentinel_token_ids

< >

( )

Dapatkan ID token untuk token sentinel.

get_sentinel_tokens

< >

( )

Dapatkan daftar token sentinel (token extra_id) dari additional_special_tokens.

VideoPrismProcessor

kelas transformers.VideoPrismProcessor

< >

( video_processor = Nonetokenizer = None )

Parameter

  • video_processor (LlavaOnevisionVideoProcessor) — Pemroses video adalah input yang wajib.
  • tokenizer (VideoPrismTokenizer) — Tokenizer adalah input yang wajib diisi.

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

< >

( 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

< >

( 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

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 Module setelahnya 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.FloatTensor dengan bentuk (batch_size, sequence_length, hidden_size)) — Urutan hidden-states pada keluaran lapisan terakhir model.

  • hidden_states (tuple(torch.FloatTensor), opsional, dikembalikan saat output_hidden_states=True dilewatkan atau saat config.output_hidden_states=True) — Tuple dari torch.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 saat output_attentions=True dilewatkan atau saat config.output_attentions=True) — Tuple dari torch.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).

Contoh:

VideoPrismVideoModel

kelas transformers.VideoPrismVideoModel

< >

( 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

< >

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

Parameter

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 Module setelahnya 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.FloatTensor dengan bentuk (batch_size, sequence_length, hidden_size)) — Urutan hidden-states pada keluaran lapisan terakhir model.

  • pooler_output (torch.FloatTensor dengan 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 saat output_hidden_states=True dilewatkan atau saat config.output_hidden_states=True) — Tuple dari torch.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 saat output_attentions=True dilewatkan atau saat config.output_attentions=True) — Tuple dari torch.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

< >

( 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

< >

( 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.LongTensor dengan 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.

    Apa itu input ID?

  • attention_mask (torch.Tensor dengan 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.

    Apa itu attention mask?

  • inputs_embeds (torch.Tensor dengan bentuk (batch_size, sequence_length, hidden_size), opsional) — Secara opsional, alih-alih meneruskan input_ids, Anda dapat memilih untuk langsung meneruskan representasi tertanam. Hal ini berguna jika Anda ingin memiliki kendali lebih atas cara mengonversi indeks input_ids menjadi vektor terkait, dibandingkan dengan matriks pencarian penanaman internal model.
  • position_ids (torch.Tensor dengan bentuk (batch_size, sequence_length), opsional) — Indeks posisi token dari setiap urutan input dalam position embeddings. Dipilih dalam rentang [0, config.n_positions - 1].

    Apa itu ID posisi?

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 Module setelahnya 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.FloatTensor dengan bentuk (batch_size, sequence_length, hidden_size)) — Urutan hidden-states pada keluaran lapisan terakhir model.

  • pooler_output (torch.FloatTensor dengan 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 saat output_hidden_states=True dilewatkan atau saat config.output_hidden_states=True) — Tuple dari torch.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 saat output_attentions=True dilewatkan atau saat config.output_attentions=True) — Tuple dari torch.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

< >

( 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

< >

( 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.FloatTensor dengan 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.Tensor dengan 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.

    Apa itu input ID?

  • attention_mask (torch.Tensor dengan 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.

    Apa itu attention mask?

  • interpolate_pos_encoding (bool, opsional, default False) — 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 Module setelahnya 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.FloatTensor dengan bentuk (video_batch_size, text_batch_size)) — Skor hasil perkalian titik berskala antara video_embeds dan text_embeds. Ini mewakili skor kemiripan video-teks.
  • logits_per_text (torch.FloatTensor dengan bentuk (text_batch_size, video_batch_size)) — Skor hasil perkalian titik berskala antara text_embeds dan video_embeds. Ini mewakili skor kemiripan teks-video.
  • video_embeds (torch.FloatTensor dengan bentuk (batch_size, output_dim)) — Embedding video yang diperoleh dengan menerapkan lapisan proyeksi ke output terpool dari VideoPrismVideoModel.
  • text_embeds (torch.FloatTensor dengan 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.FloatTensor dengan bentuk (1,), opsional, dikembalikan ketika return_loss bernilai True) — Contrastive loss untuk kesamaan video-teks.

Contoh:

VideoPrismForVideoClassification

kelas transformers.VideoPrismForVideoClassification

< >

( 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

< >

( 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.FloatTensor dengan 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.LongTensor dengan bentuk (batch_size,), opsional) — Label untuk menghitung loss klasifikasi/regresi gambar. Indeks harus berada dalam [0, ..., config.num_labels - 1]. Jika config.num_labels == 1, loss regresi dihitung (Mean-Square loss). Jika config.num_labels > 1, loss klasifikasi dihitung (Cross-Entropy).
  • interpolate_pos_encoding (bool, opsional, default False) — 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 Module setelahnya alih-alih fungsi ini, karena yang pertama menangani langkah-langkah pra-pemrosesan dan pasca-pemrosesan, sedangkan yang kedua mengabaikannya secara diam-diam.

  • loss (torch.FloatTensor dengan bentuk (1,), opsional, dikembalikan saat labels disediakan) — Loss klasifikasi (atau regresi jika config.num_labels==1).

  • logits (torch.FloatTensor dengan bentuk (batch_size, config.num_labels)) — Skor klasifikasi (atau regresi jika config.num_labels==1) (sebelum SoftMax).

  • hidden_states (tuple(torch.FloatTensor), opsional, dikembalikan saat output_hidden_states=True dilewatkan atau saat config.output_hidden_states=True) — Tuple dari torch.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 saat output_attentions=True dilewatkan atau saat config.output_attentions=True) — Tuple dari torch.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).

Contoh:

Update on GitHub