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

Este modelo foi publicado no HF papers em 2024-02-20 e contribuído para o Hugging Face Transformers em 2026-06-19.

FlashAttention

VideoPrism

O modelo VideoPrism foi proposto no artigo VideoPrism: A Foundational Visual Encoder for Video Understanding da Google DeepMind (post no blog).

VideoPrism é um codificador de vídeo de uso geral que lida com diversas tarefas de compreensão de vídeo com um único modelo congelado. O modelo é pré-treinado em um corpus heterogêneo em larga escala, contendo 36M de pares de vídeo-legenda de alta qualidade e 582M de clipes de vídeo com texto paralelo ruidoso (por exemplo, transcrições ASR). A abordagem de pré-treinamento aprimora o auto-codificação mascarada por meio da destilação global-local de embeddings semânticos de vídeo e de um esquema de embaralhamento de tokens, permitindo que o modelo foque principalmente na modalidade de vídeo, ao mesmo tempo em que aproveita o texto associado aos vídeos. O VideoPrism atinge desempenho de estado da arte em 31 dos 33 benchmarks de compreensão de vídeo, abrangendo quatro grupos amplos de tarefas, desde perguntas e respostas sobre vídeos da web até visão computacional para a ciência.

drawing

Você pode encontrar todos os checkpoints originais do VideoPrism na coleção VideoPrism.

Observações:

  • VideoPrism utiliza uma arquitetura de codificador espaço-temporal fatorado, processando vídeos por meio de transformadores espaciais e temporais separados.
  • O modelo suporta aprendizado contrastivo de vídeo e texto por meio de VideoPrismClipModel, que combina um codificador de vídeo e um codificador de texto. VideoPrismConfig deve ser usado com este modelo.
  • Para tarefas de classificação de vídeo, use VideoPrismForVideoClassification, que adiciona uma cabeça de classificação sobre o codificador de vídeo. VideoPrismVisionConfig deve ser usado com este modelo.
  • O codificador de visão pode ser usado de forma independente via VideoPrismVisionModel para extrair recursos de vídeo. VideoPrismVisionConfig deve ser usado com este modelo.
  • A resolução de entrada padrão é de 288x288 pixels, com 16 quadros por clipe de vídeo para os modelos base e 8 quadros para os modelos grandes. Defina interpolate_pos_encoding=True para usar os modelos com resolução personalizada e número de quadros por clipe.

Este modelo foi contribuído por MHRDYN7 e revisado por vasqu & zucchini-nlp. O código original pode ser encontrado aqui.

Exemplo de uso

O trecho abaixo mostra como carregar o VideoPrismVisionModel para extração de recursos usando a classe 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

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

Parâmetros

  • image_size (Union[int, list[int], tuple[int, int]], opcional, padrão 288) — O tamanho (resolução) de cada imagem.
  • num_frames (int, opcional, padrão 16) — O número de quadros no vídeo de entrada.
  • tubelet_size (List[int], opcional, padrão [1, 18, 18]) — O tamanho do patch de tubelet.
  • num_channels (int, opcional, padrão 3) — O número de canais de entrada.
  • hidden_size (int, opcional, padrão 768) — Dimensão das representações ocultas.
  • num_attention_heads (int, opcional, padrão 12) — Número de cabeças de atenção para cada camada de atenção no decodificador do Transformer.
  • intermediate_size (int, opcional, padrão 3072) — Dimensão das representações do MLP.
  • hidden_act (str, opcional, padrão gelu_python) — A função de ativação não linear (função ou string) no decodificador. Por exemplo, "gelu", "relu", "silu", etc.
  • hidden_dropout_prob (Union[float, int], opcional, padrão 0.0) — A probabilidade de dropout para todas as camadas totalmente conectadas nos embeddings, no encoder e no pooler.
  • attention_probs_dropout_prob (Union[float, int], opcional, padrão 0.0) — A taxa de dropout para as probabilidades de atenção.
  • initializer_range (float, opcional, padrão 0.02) — O desvio padrão do truncated_normal_initializer para inicializar todas as matrizes de pesos.
  • layer_norm_eps (float, opcional, padrão 1e-06) — O epsilon usado pelas camadas de normalização de camada.
  • qkv_bias (bool, opcional, padrão True) — Se deve adicionar um viés às queries, keys e values.
  • num_spatial_layers (int, opcional, padrão 12) — Número de blocos de transformador espacial.
  • num_temporal_layers (int, opcional, padrão 4) — Número de blocos de transformer temporal.
  • attn_logit_softcapping (float, opcional, padrão 50.0) — Constante de softcapping para logits de atenção.
  • num_auxiliary_layers (int, opcional, padrão 2) — Número de camadas auxiliares. Isso é usado no VideoPrismVideoModel, que faz parte do VideoPrismClipModel.
  • apply_l2norm (bool, opcional, padrão True) — Se deve aplicar normalização L2 à saída. Isso é usado no VideoPrismVideoModel, que faz parte do VideoPrismClipModel.

Esta é a classe de configuração para armazenar a configuração de um VideoPrismClipModel. Ela é usada para instanciar um modelo Videoprism de acordo com os argumentos especificados, definindo a arquitetura do modelo. Instanciar uma configuração com os padrões resultará em uma configuração semelhante à do google/videoprism-base-f16r288

Os objetos de configuração herdam de PreTrainedConfig e podem ser usados para controlar as saídas do modelo. Consulte a documentação de PreTrainedConfig para mais informações.

VideoPrismTextConfig

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

Parâmetros

  • vocab_size (int, opcional, padrão 32000) — Tamanho do vocabulário do modelo. Define o número de tokens diferentes que podem ser representados pelos input_ids.
  • hidden_size (int, opcional, padrão 768) — Dimensão das representações ocultas.
  • intermediate_size (int, opcional, padrão 3072) — Dimensão das representações do MLP.
  • num_hidden_layers (int, opcional, padrão 12) — Número de camadas ocultas no decodificador do Transformer.
  • num_attention_heads (int, opcional, padrão 12) — Número de cabeças de atenção para cada camada de atenção no decodificador do Transformer.
  • max_position_embeddings (int, opcional, padrão 64) — O comprimento máximo de sequência com o qual este modelo pode ser utilizado.
  • hidden_act (str, opcional, padrão relu) — A função de ativação não linear (função ou string) no decodificador. Por exemplo, "gelu", "relu", "silu", etc.
  • layer_norm_eps (float, opcional, padrão 1e-06) — O epsilon usado pelas camadas de normalização de camada.
  • pad_token_id (int, opcional, padrão 0) — ID do token usado para preenchimento no vocabulário.
  • bos_token_id (int, opcional) — ID do token usado para o início do fluxo no vocabulário.
  • eos_token_id (Union[int, list[int]], opcional) — ID do token usado para o fim do fluxo no vocabulário.
  • attention_probs_dropout_prob (Union[float, int], opcional, padrão 0.0) — A taxa de dropout para as probabilidades de atenção.
  • apply_l2norm (bool, opcional, padrão True) — Se deve aplicar normalização L2 à saída do VideoPrismTextEncoder.
  • qkv_bias (bool, opcional, padrão True) — Se deve adicionar um viés às queries, keys e values.
  • hidden_dropout_prob (float, opcional, padrão 0.0) — A probabilidade de dropout para todas as camadas totalmente conectadas nos embeddings, no encoder e no pooler.
  • initializer_range (float, opcional, padrão 0.02) — O desvio padrão do truncated_normal_initializer para inicializar todas as matrizes de pesos.
  • attn_logit_softcapping (float, opcional, padrão 50.0) — Constante de softcapping para logits de atenção.

Esta é a classe de configuração para armazenar a configuração de um VideoPrismClipModel. Ela é usada para instanciar um modelo Videoprism de acordo com os argumentos especificados, definindo a arquitetura do modelo. Instanciar uma configuração com os padrões resultará em uma configuração semelhante à do google/videoprism-lvt-base-f16r288

Os objetos de configuração herdam de PreTrainedConfig e podem ser usados para controlar as saídas do modelo. Consulte a documentação de PreTrainedConfig para mais informações.

VideoPrismConfig

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

Parâmetros

  • text_config (Union[dict, ~configuration_utils.PreTrainedConfig], opcional) — O objeto de configuração ou dicionário do backbone de texto.
  • vision_config (Union[dict, ~configuration_utils.PreTrainedConfig], opcional) — O objeto de configuração ou dicionário do backbone de visão.

Esta é a classe de configuração para armazenar a configuração de um VideoPrismClipModel. Ela é usada para instanciar um modelo Videoprism de acordo com os argumentos especificados, definindo a arquitetura do modelo. Instanciar uma configuração com os padrões resultará em uma configuração semelhante à do google/videoprism-lvt-base-f16r288

Os objetos de configuração herdam de PreTrainedConfig e podem ser usados para controlar as saídas do modelo. Consulte a documentação de PreTrainedConfig para mais informações.

Exemplo:

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

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

Constrói um tokenizador VideoPrism, que é essencialmente um tokenizador T5 sem seu pós-processador (que acrescenta um token EOS no final da sequência).

Este tokenizer herda de T5Tokenizer, que contém a maioria dos métodos principais. Os usuários devem consultar esta superclasse para obter mais informações sobre esses métodos.

get_sentinel_token_ids

< >

( )

Obtenha os IDs de tokens para tokens sentinel.

get_sentinel_tokens

< >

( )

Obtenha a lista de tokens sentinel (tokens extra_id) de additional_special_tokens.

VideoPrismProcessor

classe transformers.VideoPrismProcessor

< >

( video_processor = Nonetokenizer = None )

Parâmetros

  • video_processor (LlavaOnevisionVideoProcessor) — O processador de vídeo é uma entrada obrigatória.
  • tokenizer (VideoPrismTokenizer) — O tokenizer é uma entrada obrigatória.

Constrói um VideoPrismProcessor que encapsula um processador de vídeo e um tokenizer em um único processador.

VideoPrismProcessor oferece todas as funcionalidades de LlavaOnevisionVideoProcessor e VideoPrismTokenizer. Consulte ~LlavaOnevisionVideoProcessor e ~VideoPrismTokenizer para mais informações.

VideoPrismVisionModel

classe transformers.VideoPrismVisionModel

< >

( config: VideoPrismVisionConfig )

Parâmetros

  • config (VideoPrismVisionConfig) — Classe de configuração do modelo com todos os parâmetros do modelo. A inicialização com um arquivo de configuração não carrega os pesos associados ao modelo, apenas a configuração. Consulte o método from_pretrained() para carregar os pesos do modelo.

O encoder de visão VideoPrism puro, que produz estados ocultos brutos sem nenhum head específico no topo. Este modelo é o encoder de backbone usado em VideoPrismVideoModel.

Este modelo herda de PreTrainedModel. Consulte a documentação da classe pai para os métodos genéricos que a biblioteca implementa para todos os seus modelos (como download ou salvamento, redimensionamento dos embeddings de entrada, poda de cabeças, etc.)

Este modelo também é uma subclasse de torch.nn.Module do PyTorch. Use-o como um Módulo PyTorch regular e consulte a documentação do PyTorch para todos os assuntos relacionados ao uso geral e ao comportamento.

forward

< >

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

Parâmetros

Retorna

BaseModelOutputWithSpatialAndTemporalStates ou tuple(torch.Tensor)

Uma BaseModelOutputWithSpatialAndTemporalStates ou uma tupla de torch.Tensor (se return_dict=False for passado ou quando config.return_dict=False) contendo vários elementos, dependendo da configuração (VideoPrismConfig) e das entradas.

O método forward do VideoPrismVisionModel sobrescreve o método especial __call__.

Embora a receita para a passagem direta precise ser definida dentro desta função, deve-se chamar a instância de Module em seguida, em vez desta, pois a primeira cuida da execução das etapas de pré e pós-processamento, enquanto a segunda as ignora silenciosamente.

  • last_hidden_state (torch.Tensor de forma (batch_size, sequence_length, hidden_size)) — Sequência de estados ocultos na saída da última camada do modelo.

  • hidden_states (tuple(torch.Tensor), opcional, retornado quando output_hidden_states=True é passado ou quando config.output_hidden_states=True) — Tupla de torch.Tensor (um para a saída dos embeddings, se o modelo tiver uma camada de embedding, + um para a saída de cada camada) de forma (batch_size, sequence_length, hidden_size).

    Estados ocultos do modelo na saída de cada camada, além das saídas opcionais do embedding inicial.

  • attentions (tuple(torch.Tensor), opcional, retornado quando output_attentions=True é passado ou quando config.output_attentions=True) — Tupla de torch.Tensor (um para cada camada) com forma (batch_size, num_heads, sequence_length, sequence_length).

    Pesos de atenção após o softmax de atenção, usados para calcular a média ponderada nos cabeçalhos de autoatenção.

  • last_temporal_hidden_state (torch.Tensor, opcional) — O último estado oculto do codificador temporal, tipicamente com a forma (batch_size * num_patches, num_frames, hidden_size).

  • last_spatial_hidden_state (torch.Tensor, opcional) — O último estado oculto do codificador espacial, tipicamente com a forma (batch_size * num_frames, num_patches, hidden_size).

Exemplo:

VideoPrismVideoModel

classe transformers.VideoPrismVideoModel

< >

( config: VideoPrismVisionConfig )

Parâmetros

  • config (VideoPrismVisionConfig) — Classe de configuração do modelo com todos os parâmetros do modelo. A inicialização com um arquivo de configuração não carrega os pesos associados ao modelo, apenas a configuração. Consulte o método from_pretrained() para carregar os pesos do modelo.

Modelo de vídeo VideoPrism composto pelo backbone do codificador de visão com camadas auxiliares de codificador e uma cabeça de pooling de atenção no topo. Este modelo é usado em VideoPrismClipModel.

Este modelo herda de PreTrainedModel. Consulte a documentação da classe pai para os métodos genéricos que a biblioteca implementa para todos os seus modelos (como download ou salvamento, redimensionamento dos embeddings de entrada, poda de cabeças, etc.)

Este modelo também é uma subclasse de torch.nn.Module do PyTorch. Use-o como um Módulo PyTorch regular e consulte a documentação do PyTorch para todos os assuntos relacionados ao uso geral e ao comportamento.

forward

< >

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

Parâmetros

Retorna

BaseModelOutputWithPooling ou tuple(torch.Tensor)

Um BaseModelOutputWithPooling ou uma tupla de torch.Tensor (se return_dict=False for passado ou quando config.return_dict=False) contendo vários elementos, dependendo da configuração (VideoPrismConfig) e das entradas.

O método forward do VideoPrismVideoModel sobrescreve o método especial __call__.

Embora a receita para a passagem direta precise ser definida dentro desta função, deve-se chamar a instância de Module em seguida, em vez desta, pois a primeira cuida da execução das etapas de pré e pós-processamento, enquanto a segunda as ignora silenciosamente.

  • last_hidden_state (torch.Tensor de forma (batch_size, sequence_length, hidden_size)) — Sequência de estados ocultos na saída da última camada do modelo.

  • pooler_output (torch.Tensor de forma (batch_size, hidden_size)) — Estado oculto da última camada do primeiro token da sequência (token de classificação) após processamento adicional através das camadas usadas para a tarefa de pré-treinamento auxiliar. Por exemplo, para a família de modelos BERT, isso retorna o token de classificação após o processamento através de uma camada linear e uma função de ativação tanh. Os pesos da camada linear são treinados a partir do objetivo de previsão da próxima frase (classificação) durante o pré-treinamento.

  • hidden_states (tuple(torch.Tensor), opcional, retornado quando output_hidden_states=True é passado ou quando config.output_hidden_states=True) — Tupla de torch.Tensor (um para a saída dos embeddings, se o modelo tiver uma camada de embedding, + um para a saída de cada camada) de forma (batch_size, sequence_length, hidden_size).

    Estados ocultos do modelo na saída de cada camada, além das saídas opcionais do embedding inicial.

  • attentions (tuple(torch.Tensor), opcional, retornado quando output_attentions=True é passado ou quando config.output_attentions=True) — Tupla de torch.Tensor (um para cada camada) com forma (batch_size, num_heads, sequence_length, sequence_length).

    Pesos de atenção após o softmax de atenção, usados para calcular a média ponderada nos cabeçalhos de autoatenção.

VideoPrismTextModel

classe transformers.VideoPrismTextModel

< >

( config: VideoPrismTextConfig )

Parâmetros

  • config (VideoPrismTextConfig) — Classe de configuração do modelo com todos os parâmetros do modelo. A inicialização com um arquivo de configuração não carrega os pesos associados ao modelo, apenas a configuração. Consulte o método from_pretrained() para carregar os pesos do modelo.

O codificador de texto do VideoPrism em si, que produz os últimos estados ocultos sem nenhum cabeçalho específico no topo. Este modelo é usado no VideoPrismClipModel.

Este modelo herda de PreTrainedModel. Consulte a documentação da classe pai para os métodos genéricos que a biblioteca implementa para todos os seus modelos (como download ou salvamento, redimensionamento dos embeddings de entrada, poda de cabeças, etc.)

Este modelo também é uma subclasse de torch.nn.Module do PyTorch. Use-o como um Módulo PyTorch regular e consulte a documentação do PyTorch para todos os assuntos relacionados ao uso geral e ao comportamento.

forward

< >

( input_ids: typing.Optional[torch.LongTensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Noneinputs_embeds: typing.Optional[torch.Tensor] = Noneposition_ids: typing.Optional[torch.Tensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → BaseModelOutputWithPooling or tuple(torch.Tensor)

Parâmetros

  • input_ids (torch.LongTensor de forma (batch_size, sequence_length), opcional) — Índices dos tokens da sequência de entrada no vocabulário. O padding será ignorado por padrão.

    Os índices podem ser obtidos usando AutoTokenizer. Consulte PreTrainedTokenizer.encode() e PreTrainedTokenizer.call() para mais detalhes.

    O que são IDs de entrada?

  • attention_mask (torch.Tensor de forma (batch_size, sequence_length), opcional) — Máscara para evitar a execução de atenção nos índices de tokens de preenchimento. Valores de máscara selecionados em [0, 1]:
    • 1 para tokens que não estão mascarados,
    • 0 para tokens que estão mascarados.

    O que são máscaras de atenção?

  • inputs_embeds (torch.Tensor de forma (batch_size, sequence_length, hidden_size), opcional) — Opcionalmente, em vez de passar input_ids, você pode escolher passar diretamente uma representação incorporada. Isso é útil se você quiser ter mais controle sobre como converter os índices de input_ids nos vetores associados do que a matriz de busca de incorporação interna do modelo.
  • position_ids (torch.Tensor de forma (batch_size, sequence_length), opcional) — Índices das posições dos tokens de cada sequência de entrada nos embeddings de posição. Selecionados no intervalo [0, config.n_positions - 1].

    O que são IDs de posição?

Retorna

BaseModelOutputWithPooling ou tuple(torch.Tensor)

Um BaseModelOutputWithPooling ou uma tupla de torch.Tensor (se return_dict=False for passado ou quando config.return_dict=False) contendo vários elementos, dependendo da configuração (VideoPrismConfig) e das entradas.

O método forward do VideoPrismTextModel sobrescreve o método especial __call__.

Embora a receita para a passagem direta precise ser definida dentro desta função, deve-se chamar a instância de Module em seguida, em vez desta, pois a primeira cuida da execução das etapas de pré e pós-processamento, enquanto a segunda as ignora silenciosamente.

  • last_hidden_state (torch.Tensor de forma (batch_size, sequence_length, hidden_size)) — Sequência de estados ocultos na saída da última camada do modelo.

  • pooler_output (torch.Tensor de forma (batch_size, hidden_size)) — Estado oculto da última camada do primeiro token da sequência (token de classificação) após processamento adicional através das camadas usadas para a tarefa de pré-treinamento auxiliar. Por exemplo, para a família de modelos BERT, isso retorna o token de classificação após o processamento através de uma camada linear e uma função de ativação tanh. Os pesos da camada linear são treinados a partir do objetivo de previsão da próxima frase (classificação) durante o pré-treinamento.

  • hidden_states (tuple(torch.Tensor), opcional, retornado quando output_hidden_states=True é passado ou quando config.output_hidden_states=True) — Tupla de torch.Tensor (um para a saída dos embeddings, se o modelo tiver uma camada de embedding, + um para a saída de cada camada) de forma (batch_size, sequence_length, hidden_size).

    Estados ocultos do modelo na saída de cada camada, além das saídas opcionais do embedding inicial.

  • attentions (tuple(torch.Tensor), opcional, retornado quando output_attentions=True é passado ou quando config.output_attentions=True) — Tupla de torch.Tensor (um para cada camada) com forma (batch_size, num_heads, sequence_length, sequence_length).

    Pesos de atenção após o softmax de atenção, usados para calcular a média ponderada nos cabeçalhos de autoatenção.

VideoPrismClipModel

classe transformers.VideoPrismClipModel

< >

( config: VideoPrismConfig )

Parâmetros

  • config (VideoPrismConfig) — Classe de configuração do modelo com todos os parâmetros do modelo. A inicialização com um arquivo de configuração não carrega os pesos associados ao modelo, apenas a configuração. Consulte o método from_pretrained() para carregar os pesos do modelo.

Modelo VideoPrism para aprendizado contrastivo de vídeo e texto. Este modelo consiste em um VideoPrismVideoModel e um VideoPrismTextModel e calcula pontuações de similaridade entre entradas de vídeo e texto.

Este modelo herda de PreTrainedModel. Consulte a documentação da classe pai para os métodos genéricos que a biblioteca implementa para todos os seus modelos (como download ou salvamento, redimensionamento dos embeddings de entrada, poda de cabeças, etc.)

Este modelo também é uma subclasse de torch.nn.Module do PyTorch. Use-o como um Módulo PyTorch regular e consulte a documentação do PyTorch para todos os assuntos relacionados ao uso geral e ao comportamento.

forward

< >

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

Parâmetros

  • pixel_values_videos (torch.Tensor de forma (batch_size, num_frames, num_channels, frame_size, frame_size)) — Os tensores correspondentes ao vídeo de entrada. Os valores de pixels para vídeos podem ser obtidos usando LlavaOnevisionVideoProcessor. Consulte LlavaOnevisionVideoProcessor.call() para mais detalhes (VideoPrismProcessor usa LlavaOnevisionVideoProcessor para processar vídeos).
  • input_ids (torch.Tensor de formato (batch_size, sequence_length)) — Índices dos tokens da sequência de entrada no vocabulário. O preenchimento (padding) será ignorado por padrão.

    Os índices podem ser obtidos usando AutoTokenizer. Consulte PreTrainedTokenizer.encode() e PreTrainedTokenizer.call() para mais detalhes.

    O que são IDs de entrada?

  • attention_mask (torch.Tensor de forma (batch_size, sequence_length), opcional) — Máscara para evitar a execução de atenção nos índices de tokens de preenchimento. Valores de máscara selecionados em [0, 1]:
    • 1 para tokens que não estão mascarados,
    • 0 para tokens que estão mascarados.

    O que são máscaras de atenção?

  • interpolate_pos_encoding (bool, opcional, padrão False) — Se deve interpolar as codificações de posição pré-treinadas.
  • temperature (float, opcional) — Um escalar de temperatura para escalar as pontuações de similaridade. Se não for fornecido, nenhum escalonamento é aplicado.
  • return_loss (bool, opcional) — Se deve ou não retornar a perda contrastiva.

Retorna

VideoPrismClipOutput ou tuple(torch.Tensor)

Um VideoPrismClipOutput ou uma tupla de torch.Tensor (se return_dict=False for passado ou quando config.return_dict=False) contendo vários elementos, dependendo da configuração (VideoPrismConfig) e das entradas.

O método forward do VideoPrismClipModel substitui o método especial __call__.

Embora a receita para a passagem direta precise ser definida dentro desta função, deve-se chamar a instância de Module em seguida, em vez desta, pois a primeira cuida da execução das etapas de pré e pós-processamento, enquanto a segunda as ignora silenciosamente.

  • logits_per_video (torch.Tensor de forma (video_batch_size, text_batch_size)) — As pontuações do produto escalar escalonado entre video_embeds e text_embeds. Isso representa as pontuações de similaridade entre vídeo e texto.
  • logits_per_text (torch.Tensor de forma (text_batch_size, video_batch_size)) — As pontuações do produto escalar normalizado entre text_embeds e video_embeds. Isso representa as pontuações de similaridade entre texto e vídeo.
  • video_embeds (torch.Tensor de forma (batch_size, output_dim)) — Os embeddings de vídeo obtidos ao aplicar a camada de projeção à saída agregada do VideoPrismVideoModel.
  • text_embeds (torch.Tensor de forma (batch_size, output_dim)) — Os embeddings de texto obtidos ao aplicar a camada de projeção à saída agregada do VideoPrismTextModel.
  • video_model_output (~modeling_outputs.BaseModelOutputWithPooling, opcional) — A saída de VideoPrismVideoModel.
  • text_model_output (~modeling_outputs.BaseModelOutputWithPooling, opcional) — A saída do VideoPrismTextModel.
  • loss (torch.Tensor de forma (1,), opcional, retornado quando return_loss é True) — Perda contrastiva para similaridade entre vídeo e texto.

Exemplo:

VideoPrismForVideoClassification

classe transformers.VideoPrismForVideoClassification

< >

( config: VideoPrismVisionConfig )

Parâmetros

  • config (VideoPrismVisionConfig) — Classe de configuração do modelo com todos os parâmetros do modelo. A inicialização com um arquivo de configuração não carrega os pesos associados ao modelo, apenas a configuração. Consulte o método from_pretrained() para carregar os pesos do modelo.

Modelo transformer do VideoPrism com uma cabeça de classificação de vídeo no topo (uma camada linear no topo do pooler de atenção).

Este modelo herda de PreTrainedModel. Consulte a documentação da classe pai para os métodos genéricos que a biblioteca implementa para todos os seus modelos (como download ou salvamento, redimensionamento dos embeddings de entrada, poda de cabeças, etc.)

Este modelo também é uma subclasse de torch.nn.Module do PyTorch. Use-o como um Módulo PyTorch regular e consulte a documentação do PyTorch para todos os assuntos relacionados ao uso geral e ao comportamento.

forward

< >

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

Parâmetros

  • pixel_values_videos (torch.Tensor de forma (batch_size, num_frames, num_channels, frame_size, frame_size)) — Os tensores correspondentes ao vídeo de entrada. Os valores de pixels para vídeos podem ser obtidos usando LlavaOnevisionVideoProcessor. Consulte LlavaOnevisionVideoProcessor.call() para mais detalhes (VideoPrismProcessor usa LlavaOnevisionVideoProcessor para processar vídeos).
  • labels (torch.LongTensor de forma (batch_size,), opcional) — Rótulos para o cálculo da perda de classificação/regressão de imagem. Os índices devem estar em [0, ..., config.num_labels - 1]. Se config.num_labels == 1, uma perda de regressão é calculada (perda de erro quadrático médio); se config.num_labels > 1, uma perda de classificação é calculada (entropia cruzada).
  • interpolate_pos_encoding (bool, opcional, padrão False) — Se deve interpolar as codificações de posição pré-treinadas.

Retorna

ImageClassifierOutput ou tuple(torch.Tensor)

Um ImageClassifierOutput ou uma tupla de torch.Tensor (se return_dict=False for passado ou quando config.return_dict=False) contendo vários elementos, dependendo da configuração (VideoPrismConfig) e das entradas.

O método forward de VideoPrismForVideoClassification substitui o método especial __call__.

Embora a receita para a passagem direta precise ser definida dentro desta função, deve-se chamar a instância de Module em seguida, em vez desta, pois a primeira cuida da execução das etapas de pré e pós-processamento, enquanto a segunda as ignora silenciosamente.

  • loss (torch.Tensor de forma (1,), opcional, retornado quando labels é fornecido) — Perda de classificação (ou regressão se config.num_labels==1).

  • logits (torch.Tensor de forma (batch_size, config.num_labels)) — Pontuações de classificação (ou regressão, se config.num_labels==1) (antes do SoftMax).

  • hidden_states (tuple(torch.Tensor), opcional, retornado quando output_hidden_states=True é passado ou quando config.output_hidden_states=True) — Tupla de torch.Tensor (um para a saída dos embeddings, se o modelo tiver uma camada de embedding, + um para a saída de cada estágio) de forma (batch_size, sequence_length, hidden_size). Hidden-states (também chamados de feature maps) do modelo na saída de cada estágio.

  • attentions (tuple(torch.Tensor), opcional, retornado quando output_attentions=True é passado ou quando config.output_attentions=True) — Tupla de torch.Tensor (um para cada camada) com forma (batch_size, num_heads, patch_size, sequence_length).

    Pesos de atenção após o softmax de atenção, usados para calcular a média ponderada nos cabeçalhos de autoatenção.

Exemplo:

Update on GitHub