Transformers documentation
FLAVA
Este modelo foi publicado em papers do HF em 2021-12-08 e contribuído para o Hugging Face Transformers em 2022-05-11.
FLAVA
Visão geral
O modelo FLAVA foi proposto em FLAVA: A Foundational Language And Vision Alignment Model por Amanpreet Singh, Ronghang Hu, Vedanuj Goswami, Guillaume Couairon, Wojciech Galuba, Marcus Rohrbach e Douwe Kiela e foi aceito na CVPR 2022.
O artigo tem como objetivo criar um único modelo de fundação unificado que possa atuar em tarefas de visão, linguagem, bem como em tarefas multimodais de visão e linguagem.
O resumo do artigo é o seguinte:
Modelos de última geração de visão e visão-linguagem dependem de pré-treino visio-linguístico em larga escala para obter bom desempenho em uma variedade de tarefas de baixo nível. Em geral, esses modelos costumam ser intermodais (contrastivos) ou multimodais (com fusão anterior), mas não ambos; e frequentemente visam apenas modalidades ou tarefas específicas. Uma direção promissora seria usar um modelo universal holístico único, como uma “base”, que vise todas as modalidades ao mesmo tempo — um verdadeiro modelo de base de visão e linguagem deve ser bom em tarefas de visão, tarefas de linguagem e tarefas intermodais e multimodais de visão e linguagem. Apresentamos o FLAVA como tal modelo e demonstramos um desempenho impressionante em uma ampla gama de 35 tarefas abrangendo essas modalidades-alvo.
Este modelo foi contribuído por aps. O código original pode ser encontrado aqui.
FlavaConfig
classe transformers.FlavaConfig
< 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_config: dict[str, typing.Any] | transformers.configuration_utils.PreTrainedConfig | None = Nonetext_config: dict[str, typing.Any] | transformers.configuration_utils.PreTrainedConfig | None = Nonemultimodal_config: dict[str, typing.Any] | transformers.configuration_utils.PreTrainedConfig | None = Noneimage_codebook_config: dict[str, typing.Any] | transformers.configuration_utils.PreTrainedConfig | None = Nonehidden_size: int = 768layer_norm_eps: float = 1e-12projection_dim: int = 768init_codebook: bool = Truelogit_scale_init_value: float = 2.6592initializer_range: float = 0.02ce_ignore_index: int = -100mim_weight: float = 1.0mlm_weight: float = 1.0global_contrastive_weight: float = 1.0itm_weight: float = 1.0mmm_image_weight: float = 1.0mmm_text_weight: float = 1.0global_backprop_contrastive: bool = Trueskip_unmasked_multimodal_encoder: bool = Truereturn_loss: bool = Truetie_word_embeddings: bool = Trueinitializer_factor: float = 1.0 )
Parâmetros
- image_config (
dict, opcional) — Dicionário de opções de configuração usado para inicializar FlavaImageConfig. - text_config (
Union[dict[str, Any], ~configuration_utils.PreTrainedConfig], opcional) — O objeto de configuração ou dicionário do backbone de texto. - multimodal_config (
dict, opcional) — Dicionário de opções de configuração usadas para inicializar FlavaMultimodalConfig. - image_codebook_config (
dict, opcional) — Dicionário de opções de configuração usado para inicializarFlavaCodebookConfig. - hidden_size (
int, opcional, padrão768) — Dimensão das representações ocultas. - layer_norm_eps (
float, opcional, padrão1e-12) — O epsilon usado pelas camadas de normalização de camada. - projection_dim (
int, opcional, padrão768) — Dimensão das camadas de projeção de texto e visão. - init_codebook (
bool, opcional, padrãoTrue) — Se deve inicializar o codebook - logit_scale_init_value (
float, opcional, padrão 2.6592) — O valor inicial do parâmetro logit_scale. O padrão é utilizado conforme a implementação original do FLAVA/CLIP. - initializer_range (
float, opcional, padrão0.02) — O desvio padrão do truncated_normal_initializer para inicializar todas as matrizes de pesos. - ce_ignore_index (
int, opcional, padrão -100) — Índice de entropia cruzada a ser ignorado. - mim_weight (
float, opcional, padrão 1.0) — Peso a ser atribuído à perda unimodal de MIM (Masked Image Modeling) - mlm_weight (
float, opcional, padrão 1.0) — Peso a ser atribuído à perda unimodal de MLM (Masked Language Modeling) - global_contrastive_weight (
float, opcional, padrão 1.0) — Peso a ser atribuído à perda de alinhamento cruzado contrastivo global. - itm_weight (
float, opcional, padrão 1.0) — Peso a ser atribuído à perda multimodal de correspondência entre imagem e texto. - mmm_image_weight (
float, opcional, padrão 1.0) — Peso a ser atribuído à parte de imagem da perda MMM. - mmm_text_weight (
float, opcional, padrão 1.0) — Peso a ser atribuído à parte de texto da perda MMM. - global_backprop_contrastive (
bool, opcional, padrãoTrue) — Se deve usar backpropagation global através de todos os workers na perda contrastiva. - skip_unmasked_multimodal_encoder (
bool, opcional, padrãoTrue) — Se deve pular a execução do codificador multimodal sem máscara cujas saídas não são usadas pelas perdas do FLAVA. - return_loss (
bool, opcional, padrãoTrue) — Se deve retornar a perda ou não - tie_word_embeddings (
bool, opcional, padrãoTrue) — Se deve vincular as embeddings de pesos de acordo com o mapeamentotied_weights_keysdo modelo. - initializer_factor (
float, opcional, padrão1.0) — Fator para inicializar todas as matrizes de pesos (deve ser mantido em 1, usado internamente para testes de inicialização).
Esta é a classe de configuração para armazenar a configuração de um FlavaModel. Ela é usada para instanciar um modelo Flava 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 facebook/flava-full
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 FlavaConfig, FlavaModel, FlavaForPreTraining
>>> # Initializing a FlavaConfig with style configuration
>>> configuration = FlavaConfig()
>>> # Initializing a FlavaModel and FlavaForPreTraining model (with random weights) from the style configuration
>>> model = FlavaModel(configuration)
>>> model_pre = FlavaForPreTraining(configuration)
>>> # Accessing the model configuration
>>> configuration = model.config
>>> configuration_pre = model_pre.configFlavaTextConfig
classe transformers.FlavaTextConfig
< 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 = 30522type_vocab_size: int = 2max_position_embeddings: int = 512hidden_size: int = 768num_hidden_layers: int = 12num_attention_heads: int = 12intermediate_size: int = 3072hidden_act: str = 'gelu'hidden_dropout_prob: float | int = 0.0attention_probs_dropout_prob: float | int = 0.0initializer_range: float = 0.02layer_norm_eps: float = 1e-12pad_token_id: int | None = 0qkv_bias: bool = True )
Parâmetros
- vocab_size (
int, opcional, padrão30522) — Tamanho do vocabulário do modelo. Define o número de tokens diferentes que podem ser representados pelosinput_ids. - type_vocab_size (
int, opcional, padrão2) — O tamanho do vocabulário dostoken_type_ids. - max_position_embeddings (
int, opcional, padrão512) — O comprimento máximo de sequência com o qual este modelo pode ser utilizado. - hidden_size (
int, opcional, padrão768) — Dimensão das representações ocultas. - num_hidden_layers (
int, opcional, padrão12) — Número de camadas ocultas no decodificador do Transformer. - num_attention_heads (
int, opcional, padrão12) — Número de cabeças de atenção para cada camada de atenção no decodificador do Transformer. - intermediate_size (
int, opcional, padrão3072) — Dimensão das representações do MLP. - hidden_act (
str, opcional, padrãogelu) — 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ão0.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ão0.0) — A taxa de dropout para as probabilidades de atenção. - initializer_range (
float, opcional, padrão0.02) — O desvio padrão do truncated_normal_initializer para inicializar todas as matrizes de pesos. - layer_norm_eps (
float, opcional, padrão1e-12) — O epsilon usado pelas camadas de normalização de camada. - pad_token_id (
int, opcional, padrão0) — ID do token usado para preenchimento no vocabulário. - qkv_bias (
bool, opcional, padrãoTrue) — Se deve adicionar um viés às queries, keys e values.
Esta é a classe de configuração para armazenar a configuração de um FlavaModel. Ela é usada para instanciar um modelo Flava 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 facebook/flava-full
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 FlavaTextConfig, FlavaTextModel
>>> # Initializing a FlavaTextModel with style configuration
>>> configuration = FlavaTextConfig()
>>> # Initializing a FlavaTextModel model (with random weights) from the style configuration
>>> model = FlavaTextModel(configuration)
>>> # Accessing the model configuration
>>> configuration = model.configFlavaImageConfig
classe transformers.FlavaImageConfig
< 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 = Nonehidden_size: int = 768num_hidden_layers: int = 12num_attention_heads: int = 12intermediate_size: int = 3072hidden_act: str = 'gelu'hidden_dropout_prob: float | int = 0.0attention_probs_dropout_prob: float | int = 0.0initializer_range: float = 0.02layer_norm_eps: float = 1e-12image_size: int | list[int] | tuple[int, int] = 224patch_size: int | list[int] | tuple[int, int] = 16num_channels: int = 3qkv_bias: bool = Truemask_token: bool = Truevocab_size: int = 8192 )
Parâmetros
- hidden_size (
int, opcional, padrão768) — Dimensão das representações ocultas. - num_hidden_layers (
int, opcional, padrão12) — Número de camadas ocultas no decodificador do Transformer. - num_attention_heads (
int, opcional, padrão12) — Número de cabeças de atenção para cada camada de atenção no decodificador do Transformer. - intermediate_size (
int, opcional, padrão3072) — Dimensão das representações do MLP. - hidden_act (
str, opcional, padrãogelu) — 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ão0.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ão0.0) — A taxa de dropout para as probabilidades de atenção. - initializer_range (
float, opcional, padrão0.02) — O desvio padrão do truncated_normal_initializer para inicializar todas as matrizes de pesos. - layer_norm_eps (
float, opcional, padrão1e-12) — O epsilon usado pelas camadas de normalização de camada. - image_size (
Union[int, list[int], tuple[int, int]], opcional, padrão224) — O tamanho (resolução) de cada imagem. - patch_size (
Union[int, list[int], tuple[int, int]], opcional, padrão16) — O tamanho (resolução) de cada patch. - num_channels (
int, opcional, padrão3) — O número de canais de entrada. - qkv_bias (
bool, opcional, padrãoTrue) — Se deve adicionar um viés às queries, keys e values. - mask_token (
bool, opcional, padrãoTrue) — Indica se deve ou não usar um token de máscara. Utilizado na perda MIM (Masked Image Modeling) para FLAVA. - vocab_size (
int, opcional, padrão8192) — Tamanho do vocabulário do modelo. Define o número de tokens diferentes que podem ser representados pelosinput_ids.
Esta é a classe de configuração para armazenar a configuração de um FlavaModel. Ela é usada para instanciar um modelo Flava 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 facebook/flava-full
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 FlavaImageConfig, FlavaImageModel
>>> # Initializing a FlavaImageModel with style configuration
>>> configuration = FlavaImageConfig()
>>> # Initializing a FlavaImageModel model (with random weights) from the style configuration
>>> model = FlavaImageModel(configuration)
>>> # Accessing the model configuration
>>> configuration = model.configFlavaMultimodalConfig
classe transformers.FlavaMultimodalConfig
< 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 = Nonehidden_size: int = 768num_hidden_layers: int = 6num_attention_heads: int = 12intermediate_size: int = 3072hidden_act: str = 'gelu'hidden_dropout_prob: float | int = 0.0attention_probs_dropout_prob: float | int = 0.0initializer_range: float = 0.02layer_norm_eps: float = 1e-12qkv_bias: bool = Trueuse_cls_token: bool = True )
Parâmetros
- hidden_size (
int, opcional, padrão768) — Dimensão das representações ocultas. - num_hidden_layers (
int, opcional, padrão6) — Número de camadas ocultas no decodificador do Transformer. - num_attention_heads (
int, opcional, padrão12) — Número de cabeças de atenção para cada camada de atenção no decodificador do Transformer. - intermediate_size (
int, opcional, padrão3072) — Dimensão das representações do MLP. - hidden_act (
str, opcional, padrãogelu) — 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ão0.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ão0.0) — A taxa de dropout para as probabilidades de atenção. - initializer_range (
float, opcional, padrão0.02) — O desvio padrão do truncated_normal_initializer para inicializar todas as matrizes de pesos. - layer_norm_eps (
float, opcional, padrão1e-12) — O epsilon usado pelas camadas de normalização de camada. - qkv_bias (
bool, opcional, padrãoTrue) — Se deve adicionar um viés às queries, keys e values. - use_cls_token (
bool, opcional, padrãoTrue) — Indica se deve ser usado um token CLS extra para configurações multimodais. Geralmente necessário pelo modelo FLAVA.
Esta é a classe de configuração para armazenar a configuração de um FlavaModel. Ela é usada para instanciar um modelo Flava 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 facebook/flava-full
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 FlavaMultimodalConfig, FlavaMultimodalModel
>>> # Initializing a FlavaMultimodalModel with style configuration
>>> configuration = FlavaMultimodalConfig()
>>> # Initializing a FlavaMultimodalModel model (with random weights) from the style configuration
>>> model = FlavaMultimodalModel(configuration)
>>> # Accessing the model configuration
>>> configuration = model.configFlavaImageCodebookConfig
classe transformers.FlavaImageCodebookConfig
< 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 = Nonenum_groups: int = 4input_channels: int = 3num_blocks_per_group: int = 2hidden_size: int = 256vocab_size: int = 8192freeze: bool = Trueinitializer_range: float = 0.02 )
Parâmetros
- num_groups (
int, opcional, padrão 4) — Número de grupos a serem criados. Este parâmetro, por enquanto, não afeta o modelo e é usado para alguns cálculos e estimativas internos. - input_channels (
int, opcional, padrão3) — O número de canais de entrada. - num_blocks_per_group (
int, opcional, padrão 2) — Número de blocos baseados em convoluções por grupo. - hidden_size (
int, opcional, padrão256) — Dimensão das representações ocultas. - vocab_size (
int, opcional, padrão8192) — Tamanho do vocabulário do modelo. Define o número de tokens diferentes que podem ser representados pelosinput_ids. - freeze (
bool, padrãoTrue) — Se as pesos do modelo devem ser congelados. - initializer_range (
float, opcional, padrão0.02) — O desvio padrão do truncated_normal_initializer para inicializar todas as matrizes de pesos.
Esta é a classe de configuração para armazenar a configuração de um FlavaModel. Ela é usada para instanciar um modelo Flava 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 facebook/flava-full
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 FlavaImageCodebookConfig, FlavaImageCodebook
>>> # Initializing a FlavaImageCodebook with style configuration
>>> configuration = FlavaImageCodebookConfig()
>>> # Initializing a FlavaImageCodebook model (with random weights) from the style configuration
>>> model = FlavaImageCodebook(configuration)
>>> # Accessing the model configuration
>>> configuration = model.configFlavaProcessor
classe transformers.FlavaProcessor
< source >( image_processor = Nonetokenizer = None**kwargs )
Constrói um FlavaProcessor que encapsula um processador de imagem e um tokenizer em um único processador.
FlavaProcessor oferece todas as funcionalidades de FlavaImageProcessor e BertTokenizer. Consulte ~FlavaImageProcessor e ~BertTokenizer para mais informações.
__call__
< source >( images: typing.Union[ForwardRef('PIL.Image.Image'), numpy.ndarray, ForwardRef('torch.Tensor'), list['PIL.Image.Image'], list[numpy.ndarray], list['torch.Tensor'], NoneType] = Nonetext: str | list[str] | list[list[str]] | None = Nonevideos: typing.Union[list['PIL.Image.Image'], numpy.ndarray, ForwardRef('torch.Tensor'), list[numpy.ndarray], list['torch.Tensor'], list[list['PIL.Image.Image']], list[list[numpy.ndarray]], list[list['torch.Tensor']], transformers.video_utils.URL, list[transformers.video_utils.URL], list[list[transformers.video_utils.URL]], transformers.video_utils.Path, list[transformers.video_utils.Path], list[list[transformers.video_utils.Path]], NoneType] = Noneaudio: typing.Union[numpy.ndarray, ForwardRef('torch.Tensor'), collections.abc.Sequence[numpy.ndarray], collections.abc.Sequence['torch.Tensor'], NoneType] = None**kwargs: *<class 'transformers.processing_utils.ProcessingKwargs'> )
Parâmetros
- images (
Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]], opcional) — Imagem a ser pré-processada. Espera uma única imagem ou um lote de imagens com valores de pixel variando de 0 a 255. Se passar imagens com valores de pixel entre 0 e 1, definado_rescale=False. - text (
Union[str, list[str], list[list[str]]], opcional) — A sequência ou lote de sequências a ser codificada. Cada sequência pode ser uma string ou uma lista de strings (string pré-tokenizada). Se você passar uma entrada pré-tokenizada, definais_split_into_words=Truepara evitar ambiguidade com entradas em lote. - videos (
Union[list[PIL.Image.Image], numpy.ndarray, torch.Tensor, list[numpy.ndarray], list[torch.Tensor], list[list[PIL.Image.Image]], list[list[numpy.ndarray]], list[list[torch.Tensor]], ~video_utils.URL, list[~video_utils.URL], list[list[~video_utils.URL]], ~video_utils.Path, list[~video_utils.Path], list[list[~video_utils.Path]]], opcional) — Vídeo a ser pré-processado. Espera um único vídeo ou um lote de vídeos com valores de pixel variando de 0 a 255. Se passar vídeos com valores de pixel entre 0 e 1, definado_rescale=False. - audio (
Union[numpy.ndarray, torch.Tensor, collections.abc.Sequence[numpy.ndarray], collections.abc.Sequence[torch.Tensor]], opcional) — O áudio ou lote de áudios a ser preparado. Cada áudio pode ser um array NumPy ou um tensor PyTorch. No caso de um array NumPy/tensor PyTorch, cada áudio deve ter a forma (C, T), onde C é o número de canais e T é o comprimento de amostras do áudio. - return_tensors (
strou TensorType, opcional) — Se definido, retornará tensors de um framework específico. Os valores aceitos são:'pt': Retorna objetostorch.Tensordo PyTorch.'np': Retorna objetosnp.ndarraydo NumPy.
- **kwargs (ProcessingKwargs, opcional) — Opções de processamento adicionais para cada modalidade (texto, imagens, vídeos, áudio). Os parâmetros específicos do modelo estão listados acima; consulte a classe TypedDict para a lista completa de argumentos suportados.
FlavaImageProcessor
classe transformers.FlavaImageProcessor
< source >( **kwargs: *<class 'transformers.models.flava.image_processing_flava.FlavaImageProcessorKwargs'> )
Parâmetros
- do_convert_rgb (
bool, kwargs, opcional) — Se a imagem deve ser convertida para RGB. - do_resize (
bool, kwargs, opcional, padrãoTrue) — Se deve redimensionar a imagem. - size (
Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs, padrão{'height' -- 224, 'width': 224}): Descreve as dimensões máximas de entrada para o modelo. - default_to_square (
bool, kwargs, opcional, padrãoTrue) — Se deve usar uma imagem quadrada por padrão ao redimensionar, caso o tamanho seja um inteiro. - crop_size (
Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs, padrão{'height' -- 224, 'width': 224}): Tamanho da imagem de saída após aplicarcenter_crop. - resample (
Annotated[Union[int, PILImageResampling, NoneType], None], kwargs, padrão3) — Filtro de redimensionamento a ser usado ao redimensionar a imagem. Pode ser um dos valores da enumeraçãoPILImageResampling. Tem efeito apenas sedo_resizeestiver definido comoTrue. - do_rescale (
bool, kwargs, opcional, padrãoTrue) — Se deve reescalar a imagem. - rescale_factor (
float, kwargs, opcional, padrão0.00392156862745098) — Fator de reescala para reescalar a imagem, casodo_rescaleesteja definido comoTrue. - do_normalize (
bool, kwargs, opcional, padrãoTrue) — Se a imagem deve ser normalizada. - image_mean (
Union[float, list[float], tuple[float, ...]], kwargs, opcional, padrão[0.48145466, 0.4578275, 0.40821073]) — Média da imagem a ser usada para normalização. Tem efeito apenas sedo_normalizeestiver definido comoTrue. - image_std (
Union[float, list[float], tuple[float, ...]], kwargs, opcional, padrão[0.26862954, 0.26130258, 0.27577711]) — Desvio padrão da imagem a ser usado para normalização. Tem efeito apenas sedo_normalizeestiver definido comoTrue. - do_pad (
bool, kwargs, opcional) — Indica se a imagem deve ser preenchida (padding). O preenchimento é feito até o maior tamanho do lote ou até um tamanho quadrado fixo por imagem. A estratégia exata de preenchimento depende do modelo. - pad_size (
Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — O tamanho em{"height": int, "width" int}para o preenchimento das imagens. Deve ser maior que qualquer tamanho de imagem fornecido para o pré-processamento. Sepad_sizenão for fornecido, as imagens serão preenchidas até a maior altura e largura do lote. Aplicado apenas quandodo_pad=True. - do_center_crop (
bool, kwargs, opcional, padrãoTrue) — Se deve recortar a imagem pelo centro. - data_format (
Union[str, ~image_utils.ChannelDimension], kwargs, opcional) — ApenasChannelDimension.FIRSTé suportado. Adicionado para compatibilidade com processadores lentos. - input_data_format (
Union[str, ~image_utils.ChannelDimension], kwargs, opcional) — O formato da dimensão de canal para a imagem de entrada. Se não definido, o formato da dimensão de canal é inferido a partir da imagem de entrada. Pode ser um dos seguintes:"channels_first"ouChannelDimension.FIRST: imagem no formato (num_channels, height, width)."channels_last"ouChannelDimension.LAST: imagem no formato (altura, largura, num_canais)."none"ouChannelDimension.NONE: imagem no formato (altura, largura).
- device (
Annotated[Union[str, torch.device, NoneType], None], kwargs) — O dispositivo em que os vídeos serão processados. Se não for definido, o dispositivo é inferido a partir dos vídeos de entrada. - return_tensors (
Annotated[str | ~utils.generic.TensorType | None, None], kwargs) — Retorna tensores empilhados se definido como'pt'; caso contrário, retorna uma lista de tensores. - disable_grouping (
bool, kwargs, opcional) — Se deve desabilitar o agrupamento de imagens por tamanho para processá-las individualmente e não em lotes. Se for None, será definido como True se as imagens estiverem na CPU, e False caso contrário. Essa escolha é baseada em observações empíricas, conforme detalhado aqui: https://github.com/huggingface/transformers/pull/38157 - image_seq_length (
int, kwargs, opcional) — O número de tokens de imagem a serem usados para cada imagem na entrada. Adicionado para compatibilidade reversa, mas isso deve ser definido como um atributo do processador em modelos futuros. - return_image_mask (
bool, kwargs, opcional, padrãoFalse) — Se deve retornar a máscara da imagem. Pode ser sobrescrito pelo parâmetroreturn_image_maskempreprocess. - input_size_patches (
int, kwargs, opcional, padrão14) — Número de patches na imagem nas direções de altura e largura. 14x14 = 196 patches no total. Pode ser substituído pelo parâmetroinput_size_patchesempreprocess. - total_mask_patches (
int, kwargs, opcional, padrão75) — Número total de patches que devem ser mascarados. Pode ser sobrescrito pelo parâmetrototal_mask_patchesempreprocess. - mask_group_min_patches (
int, kwargs, opcional, padrão16) — Número mínimo de patches que devem ser mascarados. Pode ser sobrescrito pelo parâmetromask_group_min_patchesempreprocess. - mask_group_max_patches (
int, kwargs, opcional) — Número máximo de patches que devem ser mascarados. Pode ser sobrescrito pelo parâmetromask_group_max_patchesempreprocess. - mask_group_min_aspect_ratio (
float, kwargs, opcional, padrão0.3) — Proporção mínima da janela da máscara. Pode ser substituída pelo parâmetromask_group_min_aspect_ratioempreprocess. - mask_group_max_aspect_ratio (
float, kwargs, opcional) — Proporção máxima de aspecto da janela da máscara. Pode ser substituída pelo parâmetromask_group_max_aspect_ratioempreprocess. - return_codebook_pixels (
bool, kwargs, opcional, padrãoFalse) — Se deve retornar os valores de pixels do codebook. - codebook_do_resize (
bool, kwargs, opcional, padrãoTrue) — Se deve redimensionar a entrada do codebook para um tamanho específico. Pode ser sobrescrito pelo parâmetrocodebook_do_resizeempreprocess.codebook_size. - codebook_size (
dict[str, *kwargs*, int], opcional, padrão{"height" -- 224, "width": 224}): Redimensiona a entrada para o codebook para o tamanho especificado. Pode ser sobrescrito pelo parâmetrocodebook_sizeempreprocess. - codebook_resample (
PILImageResampling, kwargs, opcional, padrãoPILImageResampling.LANCZOS) — Filtro de reamostragem a ser usado ao redimensionar a imagem do codebook. Com torchvision < 0.27, LANCZOS não é suportado para Tensors do torch e BICUBIC é usado como a alternativa mais próxima. Pode ser sobrescrito pelo parâmetrocodebook_resampleempreprocess. - codebook_do_center_crop (
bool, kwargs, opcional, padrãoTrue) — Indica se a entrada deve ser recortada no centro para o codebook. Se o tamanho da entrada for menor quecodebook_crop_sizeem qualquer borda, a imagem é preenchida com 0 e, em seguida, recortada no centro. Pode ser substituído pelo parâmetrocodebook_do_center_cropempreprocess. - codebook_crop_size (
dict[str, *kwargs*, int], opcional, padrão{"height" -- 224, "width": 224}): Tamanho de saída desejado para a entrada do codebook ao aplicar center-cropping. Pode ser sobrescrito pelo parâmetrocodebook_crop_sizeempreprocess. - codebook_do_rescale (
bool, kwargs, opcional, padrãoTrue) — Se deve reescalar a entrada para o codebook pelo fator de escala especificadocodebook_rescale_factor. Pode ser sobrescrito pelo parâmetrocodebook_do_rescaleempreprocess. - codebook_rescale_factor (
int, kwargs oufloat, opcional, padrão1/255) — Define o fator de escala a ser usado ao reescalar a imagem do codebook. Pode ser sobrescrito pelo parâmetrocodebook_rescale_factorempreprocess. - codebook_do_map_pixels (
bool, kwargs, opcional, padrãoTrue) — Se mapear os valores de pixels da entrada do codebook para (1 - 2e)x + e. Pode ser sobrescrito pelo parâmetrocodebook_do_map_pixelsempreprocess. - codebook_do_normalize (
bool, kwargs, opcional, padrãoTrue) — Indica se a entrada deve ser normalizada para o codebook usandocodebook_image_meanecodebook_image_std. Pode ser sobrescrito pelo parâmetrocodebook_do_normalizeempreprocess. - codebook_image_mean (
Optional[Union[float, *kwargs*, Iterable[float]]], opcional, padrão[0, 0, 0]) — A sequência de médias para cada canal, a ser usada ao normalizar imagens para o codebook. Pode ser sobrescrita pelo parâmetrocodebook_image_meanempreprocess. - codebook_image_std (
Optional[Union[float, *kwargs*, Iterable[float]]], opcional, padrão[0.5, 0.5, 0.5]) — A sequência de desvios padrão para cada canal, a ser usada ao normalizar imagens para o codebook. Pode ser substituída pelo parâmetrocodebook_image_stdempreprocess.
Constrói um processador de imagem FlavaImageProcessor.
pré-processamento
< source >( images: typing.Union[ForwardRef('PIL.Image.Image'), numpy.ndarray, ForwardRef('torch.Tensor'), list['PIL.Image.Image'], list[numpy.ndarray], list['torch.Tensor']]**kwargs: *<class 'transformers.models.flava.image_processing_flava.FlavaImageProcessorKwargs'> ) → ~image_processing_base.BatchFeature
Parâmetros
- images (
Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]]) — Imagem a ser pré-processada. Espera uma única imagem ou um lote de imagens com valores de pixel variando de 0 a 255. Se passar imagens com valores de pixel entre 0 e 1, definado_rescale=False. - do_convert_rgb (
bool, kwargs, opcional) — Se a imagem deve ser convertida para RGB. - do_resize (
bool, kwargs, opcional) — Se deve redimensionar a imagem. - size (
Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — Descreve as dimensões máximas de entrada para o modelo. - default_to_square (
bool, kwargs, opcional) — Se deve usar uma imagem quadrada por padrão ao redimensionar, caso o tamanho seja um inteiro. - crop_size (
Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — Tamanho da imagem de saída após a aplicação decenter_crop. - resample (
Annotated[Union[int, PILImageResampling, NoneType], None], kwargs) — Filtro de redimensionamento a ser usado ao redimensionar a imagem. Pode ser um dos valores da enumeraçãoPILImageResampling. Tem efeito apenas sedo_resizeestiver definido comoTrue. - do_rescale (
bool, kwargs, opcional) — Se deve reescalar a imagem. - rescale_factor (
float, kwargs, opcional) — Fator de redimensionamento para redimensionar a imagem, casodo_rescaleesteja definido comoTrue. - do_normalize (
bool, kwargs, opcional) — Se a imagem deve ser normalizada. - image_mean (
Union[float, list[float], tuple[float, ...]], kwargs, opcional) — Média da imagem a ser usada para normalização. Tem efeito apenas sedo_normalizeestiver definido comoTrue. - image_std (
Union[float, list[float], tuple[float, ...]], kwargs, opcional) — Desvio padrão da imagem a ser usado para normalização. Tem efeito apenas sedo_normalizeestiver definido comoTrue. - do_pad (
bool, kwargs, opcional) — Indica se a imagem deve ser preenchida (padding). O preenchimento é feito até o maior tamanho do lote ou até um tamanho quadrado fixo por imagem. A estratégia exata de preenchimento depende do modelo. - pad_size (
Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — O tamanho em{"height": int, "width" int}para o preenchimento das imagens. Deve ser maior que qualquer tamanho de imagem fornecido para o pré-processamento. Sepad_sizenão for fornecido, as imagens serão preenchidas até a maior altura e largura do lote. Aplicado apenas quandodo_pad=True. - do_center_crop (
bool, kwargs, opcional) — Se deve recortar a imagem centralmente. - data_format (
Union[str, ~image_utils.ChannelDimension], kwargs, opcional) — ApenasChannelDimension.FIRSTé suportado. Adicionado para compatibilidade com processadores lentos. - input_data_format (
Union[str, ~image_utils.ChannelDimension], kwargs, opcional) — O formato da dimensão de canal para a imagem de entrada. Se não definido, o formato da dimensão de canal é inferido a partir da imagem de entrada. Pode ser um dos seguintes:"channels_first"ouChannelDimension.FIRST: imagem no formato (num_channels, height, width)."channels_last"ouChannelDimension.LAST: imagem no formato (altura, largura, num_canais)."none"ouChannelDimension.NONE: imagem no formato (altura, largura).
- device (
Annotated[Union[str, torch.device, NoneType], None], kwargs) — O dispositivo em que os vídeos serão processados. Se não for definido, o dispositivo é inferido a partir dos vídeos de entrada. - return_tensors (
Annotated[str | ~utils.generic.TensorType | None, None], kwargs) — Retorna tensores empilhados se definido como'pt'; caso contrário, retorna uma lista de tensores. - disable_grouping (
bool, kwargs, opcional) — Se deve desabilitar o agrupamento de imagens por tamanho para processá-las individualmente e não em lotes. Se for None, será definido como True se as imagens estiverem na CPU, e False caso contrário. Essa escolha é baseada em observações empíricas, conforme detalhado aqui: https://github.com/huggingface/transformers/pull/38157 - image_seq_length (
int, kwargs, opcional) — O número de tokens de imagem a serem usados para cada imagem na entrada. Adicionado para compatibilidade reversa, mas isso deve ser definido como um atributo do processador em modelos futuros. - return_image_mask (
bool, kwargs, opcional, padrãoFalse) — Se deve retornar a máscara da imagem. Pode ser sobrescrito pelo parâmetroreturn_image_maskempreprocess. - input_size_patches (
int, kwargs, opcional, padrão14) — Número de patches na imagem nas direções de altura e largura. 14x14 = 196 patches no total. Pode ser substituído pelo parâmetroinput_size_patchesempreprocess. - total_mask_patches (
int, kwargs, opcional, padrão75) — Número total de patches que devem ser mascarados. Pode ser sobrescrito pelo parâmetrototal_mask_patchesempreprocess. - mask_group_min_patches (
int, kwargs, opcional, padrão16) — Número mínimo de patches que devem ser mascarados. Pode ser sobrescrito pelo parâmetromask_group_min_patchesempreprocess. - mask_group_max_patches (
int, kwargs, opcional) — Número máximo de patches que devem ser mascarados. Pode ser sobrescrito pelo parâmetromask_group_max_patchesempreprocess. - mask_group_min_aspect_ratio (
float, kwargs, opcional, padrão0.3) — Proporção mínima da janela da máscara. Pode ser substituída pelo parâmetromask_group_min_aspect_ratioempreprocess. - mask_group_max_aspect_ratio (
float, kwargs, opcional) — Proporção máxima de aspecto da janela da máscara. Pode ser substituída pelo parâmetromask_group_max_aspect_ratioempreprocess. - return_codebook_pixels (
bool, kwargs, opcional, padrãoFalse) — Se deve retornar os valores de pixels do codebook. - codebook_do_resize (
bool, kwargs, opcional, padrãoTrue) — Se deve redimensionar a entrada do codebook para um tamanho específico. Pode ser sobrescrito pelo parâmetrocodebook_do_resizeempreprocess.codebook_size. - codebook_size (
dict[str, *kwargs*, int], opcional, padrão{"height" -- 224, "width": 224}): Redimensiona a entrada para o codebook para o tamanho especificado. Pode ser sobrescrito pelo parâmetrocodebook_sizeempreprocess. - codebook_resample (
PILImageResampling, kwargs, opcional, padrãoPILImageResampling.LANCZOS) — Filtro de reamostragem a ser usado ao redimensionar a imagem do codebook. Com torchvision < 0.27, LANCZOS não é suportado para Tensors do torch e BICUBIC é usado como a alternativa mais próxima. Pode ser sobrescrito pelo parâmetrocodebook_resampleempreprocess. - codebook_do_center_crop (
bool, kwargs, opcional, padrãoTrue) — Indica se a entrada deve ser recortada no centro para o codebook. Se o tamanho da entrada for menor quecodebook_crop_sizeem qualquer borda, a imagem é preenchida com 0 e, em seguida, recortada no centro. Pode ser substituído pelo parâmetrocodebook_do_center_cropempreprocess. - codebook_crop_size (
dict[str, *kwargs*, int], opcional, padrão{"height" -- 224, "width": 224}): Tamanho de saída desejado para a entrada do codebook ao aplicar center-cropping. Pode ser sobrescrito pelo parâmetrocodebook_crop_sizeempreprocess. - codebook_do_rescale (
bool, kwargs, opcional, padrãoTrue) — Se deve reescalar a entrada para o codebook pelo fator de escala especificadocodebook_rescale_factor. Pode ser sobrescrito pelo parâmetrocodebook_do_rescaleempreprocess. - codebook_rescale_factor (
int, kwargs oufloat, opcional, padrão1/255) — Define o fator de escala a ser usado ao reescalar a imagem do codebook. Pode ser sobrescrito pelo parâmetrocodebook_rescale_factorempreprocess. - codebook_do_map_pixels (
bool, kwargs, opcional, padrãoTrue) — Se mapear os valores de pixels da entrada do codebook para (1 - 2e)x + e. Pode ser sobrescrito pelo parâmetrocodebook_do_map_pixelsempreprocess. - codebook_do_normalize (
bool, kwargs, opcional, padrãoTrue) — Indica se a entrada deve ser normalizada para o codebook usandocodebook_image_meanecodebook_image_std. Pode ser sobrescrito pelo parâmetrocodebook_do_normalizeempreprocess. - codebook_image_mean (
Optional[Union[float, *kwargs*, Iterable[float]]], opcional, padrão[0, 0, 0]) — A sequência de médias para cada canal, a ser usada ao normalizar imagens para o codebook. Pode ser sobrescrita pelo parâmetrocodebook_image_meanempreprocess. - codebook_image_std (
Optional[Union[float, *kwargs*, Iterable[float]]], opcional, padrão[0.5, 0.5, 0.5]) — A sequência de desvios padrão para cada canal, a ser usada ao normalizar imagens para o codebook. Pode ser substituída pelo parâmetrocodebook_image_stdempreprocess.
Retorna
~image_processing_base.BatchFeature
- data (
dict) — Dicionário de listas/arrays/tensors retornados pelo método call (‘pixel_values’, etc.). - tensor_type (
Union[None, str, TensorType], opcional) — Você pode fornecer um tensor_type aqui para converter as listas de inteiros em Tensors do PyTorch/Numpy na inicialização.
FlavaImageProcessorPil
classe transformers.FlavaImageProcessorPil
< source >( **kwargs: *<class 'transformers.models.flava.image_processing_pil_flava.FlavaImageProcessorKwargs'> )
Parâmetros
- do_convert_rgb (
bool, kwargs, opcional) — Se a imagem deve ser convertida para RGB. - do_resize (
bool, kwargs, opcional, padrãoTrue) — Se deve redimensionar a imagem. - size (
Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs, padrão{'height' -- 224, 'width': 224}): Descreve as dimensões máximas de entrada para o modelo. - default_to_square (
bool, kwargs, opcional, padrãoTrue) — Se deve usar uma imagem quadrada por padrão ao redimensionar, caso o tamanho seja um inteiro. - crop_size (
Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs, padrão{'height' -- 224, 'width': 224}): Tamanho da imagem de saída após aplicarcenter_crop. - resample (
Annotated[Union[int, PILImageResampling, NoneType], None], kwargs, padrão3) — Filtro de redimensionamento a ser usado ao redimensionar a imagem. Pode ser um dos valores da enumeraçãoPILImageResampling. Tem efeito apenas sedo_resizeestiver definido comoTrue. - do_rescale (
bool, kwargs, opcional, padrãoTrue) — Se deve reescalar a imagem. - rescale_factor (
float, kwargs, opcional, padrão0.00392156862745098) — Fator de reescala para reescalar a imagem, casodo_rescaleesteja definido comoTrue. - do_normalize (
bool, kwargs, opcional, padrãoTrue) — Se a imagem deve ser normalizada. - image_mean (
Union[float, list[float], tuple[float, ...]], kwargs, opcional, padrão[0.48145466, 0.4578275, 0.40821073]) — Média da imagem a ser usada para normalização. Tem efeito apenas sedo_normalizeestiver definido comoTrue. - image_std (
Union[float, list[float], tuple[float, ...]], kwargs, opcional, padrão[0.26862954, 0.26130258, 0.27577711]) — Desvio padrão da imagem a ser usado para normalização. Tem efeito apenas sedo_normalizeestiver definido comoTrue. - do_pad (
bool, kwargs, opcional) — Indica se a imagem deve ser preenchida (padding). O preenchimento é feito até o maior tamanho do lote ou até um tamanho quadrado fixo por imagem. A estratégia exata de preenchimento depende do modelo. - pad_size (
Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — O tamanho em{"height": int, "width" int}para o preenchimento das imagens. Deve ser maior que qualquer tamanho de imagem fornecido para o pré-processamento. Sepad_sizenão for fornecido, as imagens serão preenchidas até a maior altura e largura do lote. Aplicado apenas quandodo_pad=True. - do_center_crop (
bool, kwargs, opcional, padrãoTrue) — Se deve recortar a imagem pelo centro. - data_format (
Union[str, ~image_utils.ChannelDimension], kwargs, opcional) — ApenasChannelDimension.FIRSTé suportado. Adicionado para compatibilidade com processadores lentos. - input_data_format (
Union[str, ~image_utils.ChannelDimension], kwargs, opcional) — O formato da dimensão de canal para a imagem de entrada. Se não definido, o formato da dimensão de canal é inferido a partir da imagem de entrada. Pode ser um dos seguintes:"channels_first"ouChannelDimension.FIRST: imagem no formato (num_channels, height, width)."channels_last"ouChannelDimension.LAST: imagem no formato (altura, largura, num_canais)."none"ouChannelDimension.NONE: imagem no formato (altura, largura).
- device (
Annotated[Union[str, torch.device, NoneType], None], kwargs) — O dispositivo em que os vídeos serão processados. Se não for definido, o dispositivo é inferido a partir dos vídeos de entrada. - return_tensors (
Annotated[str | ~utils.generic.TensorType | None, None], kwargs) — Retorna tensores empilhados se definido como'pt'; caso contrário, retorna uma lista de tensores. - disable_grouping (
bool, kwargs, opcional) — Se deve desabilitar o agrupamento de imagens por tamanho para processá-las individualmente e não em lotes. Se for None, será definido como True se as imagens estiverem na CPU, e False caso contrário. Essa escolha é baseada em observações empíricas, conforme detalhado aqui: https://github.com/huggingface/transformers/pull/38157 - image_seq_length (
int, kwargs, opcional) — O número de tokens de imagem a serem usados para cada imagem na entrada. Adicionado para compatibilidade reversa, mas isso deve ser definido como um atributo do processador em modelos futuros. - return_image_mask (
bool, kwargs, opcional, padrãoFalse) — Se deve retornar a máscara da imagem. Pode ser sobrescrito pelo parâmetroreturn_image_maskempreprocess. - input_size_patches (
int, kwargs, opcional, padrão14) — Número de patches na imagem nas direções de altura e largura. 14x14 = 196 patches no total. Pode ser substituído pelo parâmetroinput_size_patchesempreprocess. - total_mask_patches (
int, kwargs, opcional, padrão75) — Número total de patches que devem ser mascarados. Pode ser sobrescrito pelo parâmetrototal_mask_patchesempreprocess. - mask_group_min_patches (
int, kwargs, opcional, padrão16) — Número mínimo de patches que devem ser mascarados. Pode ser sobrescrito pelo parâmetromask_group_min_patchesempreprocess. - mask_group_max_patches (
int, kwargs, opcional) — Número máximo de patches que devem ser mascarados. Pode ser sobrescrito pelo parâmetromask_group_max_patchesempreprocess. - mask_group_min_aspect_ratio (
float, kwargs, opcional, padrão0.3) — Proporção mínima da janela da máscara. Pode ser substituída pelo parâmetromask_group_min_aspect_ratioempreprocess. - mask_group_max_aspect_ratio (
float, kwargs, opcional) — Proporção máxima de aspecto da janela da máscara. Pode ser substituída pelo parâmetromask_group_max_aspect_ratioempreprocess. - return_codebook_pixels (
bool, kwargs, opcional, padrãoFalse) — Se deve retornar os valores de pixels do codebook. - codebook_do_resize (
bool, kwargs, opcional, padrãoTrue) — Se deve redimensionar a entrada do codebook para um tamanho específico. Pode ser sobrescrito pelo parâmetrocodebook_do_resizeempreprocess.codebook_size. - codebook_size (
dict[str, *kwargs*, int], opcional, padrão{"height" -- 224, "width": 224}): Redimensiona a entrada para o codebook para o tamanho especificado. Pode ser sobrescrito pelo parâmetrocodebook_sizeempreprocess. - codebook_resample (
PILImageResampling, kwargs, opcional, padrãoPILImageResampling.LANCZOS) — Filtro de reamostragem a ser usado ao redimensionar a imagem do codebook. Com torchvision < 0.27, LANCZOS não é suportado para Tensors do torch e BICUBIC é usado como a alternativa mais próxima. Pode ser sobrescrito pelo parâmetrocodebook_resampleempreprocess. - codebook_do_center_crop (
bool, kwargs, opcional, padrãoTrue) — Indica se a entrada deve ser recortada no centro para o codebook. Se o tamanho da entrada for menor quecodebook_crop_sizeem qualquer borda, a imagem é preenchida com 0 e, em seguida, recortada no centro. Pode ser substituído pelo parâmetrocodebook_do_center_cropempreprocess. - codebook_crop_size (
dict[str, *kwargs*, int], opcional, padrão{"height" -- 224, "width": 224}): Tamanho de saída desejado para a entrada do codebook ao aplicar center-cropping. Pode ser sobrescrito pelo parâmetrocodebook_crop_sizeempreprocess. - codebook_do_rescale (
bool, kwargs, opcional, padrãoTrue) — Se deve reescalar a entrada para o codebook pelo fator de escala especificadocodebook_rescale_factor. Pode ser sobrescrito pelo parâmetrocodebook_do_rescaleempreprocess. - codebook_rescale_factor (
int, kwargs oufloat, opcional, padrão1/255) — Define o fator de escala a ser usado ao reescalar a imagem do codebook. Pode ser sobrescrito pelo parâmetrocodebook_rescale_factorempreprocess. - codebook_do_map_pixels (
bool, kwargs, opcional, padrãoTrue) — Se mapear os valores de pixels da entrada do codebook para (1 - 2e)x + e. Pode ser sobrescrito pelo parâmetrocodebook_do_map_pixelsempreprocess. - codebook_do_normalize (
bool, kwargs, opcional, padrãoTrue) — Indica se a entrada deve ser normalizada para o codebook usandocodebook_image_meanecodebook_image_std. Pode ser sobrescrito pelo parâmetrocodebook_do_normalizeempreprocess. - codebook_image_mean (
Optional[Union[float, *kwargs*, Iterable[float]]], opcional, padrão[0, 0, 0]) — A sequência de médias para cada canal, a ser usada ao normalizar imagens para o codebook. Pode ser sobrescrita pelo parâmetrocodebook_image_meanempreprocess. - codebook_image_std (
Optional[Union[float, *kwargs*, Iterable[float]]], opcional, padrão[0.5, 0.5, 0.5]) — A sequência de desvios padrão para cada canal, a ser usada ao normalizar imagens para o codebook. Pode ser substituída pelo parâmetrocodebook_image_stdempreprocess.
Constrói um processador de imagem FlavaImageProcessor.
pré-processamento
< source >( images: typing.Union[ForwardRef('PIL.Image.Image'), numpy.ndarray, ForwardRef('torch.Tensor'), list['PIL.Image.Image'], list[numpy.ndarray], list['torch.Tensor']]**kwargs: *<class 'transformers.models.flava.image_processing_pil_flava.FlavaImageProcessorKwargs'> ) → ~image_processing_base.BatchFeature
Parâmetros
- images (
Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]]) — Imagem a ser pré-processada. Espera uma única imagem ou um lote de imagens com valores de pixel variando de 0 a 255. Se passar imagens com valores de pixel entre 0 e 1, definado_rescale=False. - do_convert_rgb (
bool, kwargs, opcional) — Se a imagem deve ser convertida para RGB. - do_resize (
bool, kwargs, opcional) — Se deve redimensionar a imagem. - size (
Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — Descreve as dimensões máximas de entrada para o modelo. - default_to_square (
bool, kwargs, opcional) — Se deve usar uma imagem quadrada por padrão ao redimensionar, caso o tamanho seja um inteiro. - crop_size (
Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — Tamanho da imagem de saída após a aplicação decenter_crop. - resample (
Annotated[Union[int, PILImageResampling, NoneType], None], kwargs) — Filtro de redimensionamento a ser usado ao redimensionar a imagem. Pode ser um dos valores da enumeraçãoPILImageResampling. Tem efeito apenas sedo_resizeestiver definido comoTrue. - do_rescale (
bool, kwargs, opcional) — Se deve reescalar a imagem. - rescale_factor (
float, kwargs, opcional) — Fator de redimensionamento para redimensionar a imagem, casodo_rescaleesteja definido comoTrue. - do_normalize (
bool, kwargs, opcional) — Se a imagem deve ser normalizada. - image_mean (
Union[float, list[float], tuple[float, ...]], kwargs, opcional) — Média da imagem a ser usada para normalização. Tem efeito apenas sedo_normalizeestiver definido comoTrue. - image_std (
Union[float, list[float], tuple[float, ...]], kwargs, opcional) — Desvio padrão da imagem a ser usado para normalização. Tem efeito apenas sedo_normalizeestiver definido comoTrue. - do_pad (
bool, kwargs, opcional) — Indica se a imagem deve ser preenchida (padding). O preenchimento é feito até o maior tamanho do lote ou até um tamanho quadrado fixo por imagem. A estratégia exata de preenchimento depende do modelo. - pad_size (
Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — O tamanho em{"height": int, "width" int}para o preenchimento das imagens. Deve ser maior que qualquer tamanho de imagem fornecido para o pré-processamento. Sepad_sizenão for fornecido, as imagens serão preenchidas até a maior altura e largura do lote. Aplicado apenas quandodo_pad=True. - do_center_crop (
bool, kwargs, opcional) — Se deve recortar a imagem centralmente. - data_format (
Union[str, ~image_utils.ChannelDimension], kwargs, opcional) — ApenasChannelDimension.FIRSTé suportado. Adicionado para compatibilidade com processadores lentos. - input_data_format (
Union[str, ~image_utils.ChannelDimension], kwargs, opcional) — O formato da dimensão de canal para a imagem de entrada. Se não definido, o formato da dimensão de canal é inferido a partir da imagem de entrada. Pode ser um dos seguintes:"channels_first"ouChannelDimension.FIRST: imagem no formato (num_channels, height, width)."channels_last"ouChannelDimension.LAST: imagem no formato (altura, largura, num_canais)."none"ouChannelDimension.NONE: imagem no formato (altura, largura).
- device (
Annotated[Union[str, torch.device, NoneType], None], kwargs) — O dispositivo em que os vídeos serão processados. Se não for definido, o dispositivo é inferido a partir dos vídeos de entrada. - return_tensors (
Annotated[str | ~utils.generic.TensorType | None, None], kwargs) — Retorna tensores empilhados se definido como'pt'; caso contrário, retorna uma lista de tensores. - disable_grouping (
bool, kwargs, opcional) — Se deve desabilitar o agrupamento de imagens por tamanho para processá-las individualmente e não em lotes. Se for None, será definido como True se as imagens estiverem na CPU, e False caso contrário. Essa escolha é baseada em observações empíricas, conforme detalhado aqui: https://github.com/huggingface/transformers/pull/38157 - image_seq_length (
int, kwargs, opcional) — O número de tokens de imagem a serem usados para cada imagem na entrada. Adicionado para compatibilidade reversa, mas isso deve ser definido como um atributo do processador em modelos futuros. - return_image_mask (
bool, kwargs, opcional, padrãoFalse) — Se deve retornar a máscara da imagem. Pode ser sobrescrito pelo parâmetroreturn_image_maskempreprocess. - input_size_patches (
int, kwargs, opcional, padrão14) — Número de patches na imagem nas direções de altura e largura. 14x14 = 196 patches no total. Pode ser substituído pelo parâmetroinput_size_patchesempreprocess. - total_mask_patches (
int, kwargs, opcional, padrão75) — Número total de patches que devem ser mascarados. Pode ser sobrescrito pelo parâmetrototal_mask_patchesempreprocess. - mask_group_min_patches (
int, kwargs, opcional, padrão16) — Número mínimo de patches que devem ser mascarados. Pode ser sobrescrito pelo parâmetromask_group_min_patchesempreprocess. - mask_group_max_patches (
int, kwargs, opcional) — Número máximo de patches que devem ser mascarados. Pode ser sobrescrito pelo parâmetromask_group_max_patchesempreprocess. - mask_group_min_aspect_ratio (
float, kwargs, opcional, padrão0.3) — Proporção mínima da janela da máscara. Pode ser substituída pelo parâmetromask_group_min_aspect_ratioempreprocess. - mask_group_max_aspect_ratio (
float, kwargs, opcional) — Proporção máxima de aspecto da janela da máscara. Pode ser substituída pelo parâmetromask_group_max_aspect_ratioempreprocess. - return_codebook_pixels (
bool, kwargs, opcional, padrãoFalse) — Se deve retornar os valores de pixels do codebook. - codebook_do_resize (
bool, kwargs, opcional, padrãoTrue) — Se deve redimensionar a entrada do codebook para um tamanho específico. Pode ser sobrescrito pelo parâmetrocodebook_do_resizeempreprocess.codebook_size. - codebook_size (
dict[str, *kwargs*, int], opcional, padrão{"height" -- 224, "width": 224}): Redimensiona a entrada para o codebook para o tamanho especificado. Pode ser sobrescrito pelo parâmetrocodebook_sizeempreprocess. - codebook_resample (
PILImageResampling, kwargs, opcional, padrãoPILImageResampling.LANCZOS) — Filtro de reamostragem a ser usado ao redimensionar a imagem do codebook. Com torchvision < 0.27, LANCZOS não é suportado para Tensors do torch e BICUBIC é usado como a alternativa mais próxima. Pode ser sobrescrito pelo parâmetrocodebook_resampleempreprocess. - codebook_do_center_crop (
bool, kwargs, opcional, padrãoTrue) — Indica se a entrada deve ser recortada no centro para o codebook. Se o tamanho da entrada for menor quecodebook_crop_sizeem qualquer borda, a imagem é preenchida com 0 e, em seguida, recortada no centro. Pode ser substituído pelo parâmetrocodebook_do_center_cropempreprocess. - codebook_crop_size (
dict[str, *kwargs*, int], opcional, padrão{"height" -- 224, "width": 224}): Tamanho de saída desejado para a entrada do codebook ao aplicar center-cropping. Pode ser sobrescrito pelo parâmetrocodebook_crop_sizeempreprocess. - codebook_do_rescale (
bool, kwargs, opcional, padrãoTrue) — Se deve reescalar a entrada para o codebook pelo fator de escala especificadocodebook_rescale_factor. Pode ser sobrescrito pelo parâmetrocodebook_do_rescaleempreprocess. - codebook_rescale_factor (
int, kwargs oufloat, opcional, padrão1/255) — Define o fator de escala a ser usado ao reescalar a imagem do codebook. Pode ser sobrescrito pelo parâmetrocodebook_rescale_factorempreprocess. - codebook_do_map_pixels (
bool, kwargs, opcional, padrãoTrue) — Se mapear os valores de pixels da entrada do codebook para (1 - 2e)x + e. Pode ser sobrescrito pelo parâmetrocodebook_do_map_pixelsempreprocess. - codebook_do_normalize (
bool, kwargs, opcional, padrãoTrue) — Indica se a entrada deve ser normalizada para o codebook usandocodebook_image_meanecodebook_image_std. Pode ser sobrescrito pelo parâmetrocodebook_do_normalizeempreprocess. - codebook_image_mean (
Optional[Union[float, *kwargs*, Iterable[float]]], opcional, padrão[0, 0, 0]) — A sequência de médias para cada canal, a ser usada ao normalizar imagens para o codebook. Pode ser sobrescrita pelo parâmetrocodebook_image_meanempreprocess. - codebook_image_std (
Optional[Union[float, *kwargs*, Iterable[float]]], opcional, padrão[0.5, 0.5, 0.5]) — A sequência de desvios padrão para cada canal, a ser usada ao normalizar imagens para o codebook. Pode ser substituída pelo parâmetrocodebook_image_stdempreprocess.
Retorna
~image_processing_base.BatchFeature
- data (
dict) — Dicionário de listas/arrays/tensors retornados pelo método call (‘pixel_values’, etc.). - tensor_type (
Union[None, str, TensorType], opcional) — Você pode fornecer um tensor_type aqui para converter as listas de inteiros em Tensors do PyTorch/Numpy na inicialização.
FlavaForPreTraining
classe transformers.FlavaForPreTraining
< source >( config: FlavaConfigimage_codebook: typing.Optional[torch.nn.Module] = None )
Parâmetros
- config (FlavaConfig) — 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.
- image_codebook (
torch.nn.Module, opcional) — Se fornecido, o image codebook será definido como este. Caso contrário, ele será inicializado usando o image_codebook_config definido na config como primeiro parâmetro.
O modelo FLAVA para pré-treinamento, que produz perdas, embeddings, logits e saídas do transformer.
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
< source >( input_ids: typing.Optional[torch.LongTensor] = Noneinput_ids_masked: typing.Optional[torch.LongTensor] = Nonepixel_values: typing.Optional[torch.Tensor] = Nonecodebook_pixel_values: typing.Optional[torch.Tensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Nonetoken_type_ids: typing.Optional[torch.Tensor] = Nonebool_masked_pos: typing.Optional[torch.Tensor] = Noneposition_ids: typing.Optional[torch.LongTensor] = Noneimage_attention_mask: typing.Optional[torch.Tensor] = Noneskip_unmasked_multimodal_encoder: bool | None = Nonemlm_labels: typing.Optional[torch.Tensor] = Nonemim_labels: typing.Optional[torch.Tensor] = Noneitm_labels: typing.Optional[torch.Tensor] = Noneoutput_attentions: bool | None = Noneoutput_hidden_states: bool = Truereturn_dict: bool | None = Nonereturn_loss: bool | None = None**kwargs ) → FlavaForPreTrainingOutput or tuple(torch.Tensor)
Parâmetros
- input_ids (
torch.LongTensorde forma(batch_size, text_seq_len)) — Índices dos tokens da sequência de entrada no vocabulário. Os índices podem ser obtidos usando AutoTokenizer. Consulte PreTrainedTokenizer.encode() e PreTrainedTokenizer.call() para mais detalhes. O que são IDs de entrada? - input_ids_masked (
torch.LongTensorde forma(batch_size, text_seq_len)) — Índices dos tokens da sequência de entrada no vocabulário. Estes são a versão mascarada da tarefa original a ser usada com MLM. Os índices podem ser obtidos usando AutoTokenizer junto comDataCollatorForMaskedLanguageModeling. Veja PreTrainedTokenizer.encode() e PreTrainedTokenizer.call() para mais detalhes. O que são IDs de entrada? - pixel_values (
torch.Tensorde forma(batch_size, num_channels, image_size, image_size), opcional) — Os tensores correspondentes às imagens de entrada. Os valores de pixels podem ser obtidos usando FlavaImageProcessor. Veja FlavaImageProcessor.call() para detalhes (FlavaProcessor usa FlavaImageProcessor para processar imagens). - codebook_pixel_values (
torch.Tensorde forma(batch_size, num_image_patches, patch_size, patch_size, 3), opcional) — Valores de pixel para patches de imagem usados para calcular os rótulos do codebook de imagem para modelagem de imagem mascarada. - attention_mask (
torch.Tensorde 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.
- token_type_ids (
torch.LongTensorde forma(batch_size, text_seq_len), opcional) — Índices de tokens de segmento para indicar as primeiras e segundas partes das entradas. Os índices são selecionados em[0, 1]:- 0 corresponde a um token de sentence A,
- 1 corresponde a um token de frase B. O que são IDs de tipo de token?
- bool_masked_pos (
torch.BoolTensorde forma(batch_size, image_num_patches)) — Posições mascaradas booleanas. Indica quais patches estão mascarados (1) e quais não estão (0). - position_ids (
torch.LongTensorde 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]. - image_attention_mask (
torch.Tensorde forma(batch_size, image_num_patches), opcional) — Máscara para evitar a execução de atenção nos índices de tokens de padding especificamente para imagens. 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?
- skip_unmasked_multimodal_encoder (
*bool*, opcional) — Pula qualquer cálculo do codificador multimodal para entradas sem máscara. O pré-treino do FLAVA não requer, no momento, embeddings ou saídas multimodais sem máscara. - mlm_labels (
torch.LongTensorde forma(batch_size, text_seq_len), opcional) — Rótulos para o cálculo da perda de modelagem mascarada de linguagem e multimodal da esquerda para a direita (previsão da próxima palavra). Os índices devem estar em[-100, 0, ..., text_config.vocab_size - 1](veja a docstring deinput_ids). Tokens com índices definidos como-100são ignorados (mascarados); a perda é calculada apenas para os tokens com rótulos em[0, ..., text_config.vocab_size - 1]. - mim_labels (
torch.LongTensorde forma(batch_size, image_num_patches), opcional) — Rótulos para o cálculo da perda de modelagem mascarada de imagem e multimodal. Os índices devem estar em[-100, 0, ..., image_config.vocab_size - 1]. Tokens com índices definidos como-100são ignorados (mascarados); a perda é calculada apenas para os tokens com rótulos em[0, ..., image_config.vocab_size - 1]. Se não for fornecido, eles são gerados automaticamente usando o codebook de imagem atribuído ao modelo. Por padrão, utiliza FlavaImageCodebook. Consulte FlavaImageCodebook para entender como gerar mim_labels. - itm_labels (
torch.LongTensorde forma(batch_size, 1), opcional) — Rótulos para o cálculo da perda de correspondência entre imagem e texto. 0 indica que os pares não correspondem e 1 indica que correspondem. Os pares com 0 também serão ignorados no cálculo das perdas MMM e contrastivas globais. - output_attentions (
bool, opcional) — Indica se os tensores de atenção de todas as camadas de atenção devem ser retornados. Consulteattentionsnos tensores retornados para mais detalhes. - output_hidden_states (
bool, opcional, padrãoTrue) — Indica se as hidden states de todas as camadas devem ser retornadas. Consultehidden_statesem tensors retornados para mais detalhes. - return_dict (
bool, opcional) — Indica se deve retornar um ModelOutput em vez de uma tupla simples. - return_loss (
bool, opcional, padrão None) — Se deve ou não retornar a perda calculada.
Retorna
FlavaForPreTrainingOutput ou tuple(torch.Tensor)
Um FlavaForPreTrainingOutput 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 (FlavaConfig) e das entradas.
O método forward de FlavaForPreTraining 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
Moduleem 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, opcional, retornado quandoreturn_lossé True) — Perda total calculada para este modelo. - loss_info (
~models.flava.modeling_flava.FlavaLosses, opcional) — Informações detalhadas sobre as perdas do pré-treinamento do FLAVA. Consulte a descrição da classeFlavaLossespara obter informações sobre as chaves. - image_embeddings (
torch.Tensorde forma(batch_size, output_dim), opcional, retornado quandopixel_valuesestão presentes) — Os embeddings de imagem, que são basicamente a saída agregada (pooled output) do FlavaImageModel. - image_output (
BaseModelOutputWithPooling, opcional, retornado quandopixel_valuesestão presentes) — A saída do FlavaImageModel. - text_embeddings (
torch.Tensorde forma(batch_size, output_dim), opcional, retornado quandoinput_idsestão presentes) — As embeddings de texto, que são basicamente a saída agregada (pooled output) do FlavaTextModel. - text_output (
BaseModelOutputWithPooling, opcional, retornado quandoinput_idsestão presentes) — A saída do FlavaTextModel. - multimodal_embeddings (
torch.Tensorde forma(batch_size, output_dim), opcional, retornado quandoinput_idsepixel_valuesestão presentes eskip_unmasked_multimodal_encoderéNoneouFalse) — As embeddings multimodais, que são basicamente a saída agregada (pooled) do FlavaTextModel. - multimodal_output (
BaseModelOutputWithPooling, retornado quandoinput_idsepixel_valuesestão presentes eskip_unmasked_multimodal_encoderéNoneouFalse) — A saída do FlavaMultimodalModel. - image_masked_embeddings (
torch.Tensorde forma(batch_size, output_dim), opcional, retornado quandopixel_valuesestão presentes) — As incorporações de imagem, que são basicamente a saída agregada de FlavaImageModel. Usabool_masked_pospara criar imagens mascaradas. - image_masked_output (
BaseModelOutputWithPooling, opcional, retornado quandopixel_valuesestão presentes) — A saída do FlavaImageModel. Usabool_masked_pospara criar imagens mascaradas. - text_masked_embeddings (
torch.Tensorde forma(batch_size, output_dim), opcional, retornado quandoinput_ids_maskedestão presentes) — As incorporações de texto, que são basicamente a saída agregada do FlavaTextModel. - text_masked_output (
BaseModelOutputWithPooling, opcional, retornado quandoinput_ids_maskedestão presentes) — A saída do FlavaTextModel. - multimodal_masked_embeddings (
torch.Tensorde forma(batch_size, output_dim), opcional, retornado quandoinput_idsepixel_valuesestão presentes) — As embeddings multimodais, que são basicamente a saída agregada do FlavaTextModel. - multimodal_masked_output (
BaseModelOutputWithPooling, opcional, retornado quandoinput_ids_maskedepixel_valuesestão presentes) — A saída do FlavaMultimodalModel. - mim_logits (
torch.Tensorde forma(batch_size, num_image_patches, image_vocab_size)ou de forma(total_masked_patches, image_vocab_size), opcional, retornado quandopixel_valuesestão presentes einput_ids_maskednão) — Os logits para a perda unimodal do MIM. Usabool_masked_pospara obter os patches mascarados. A saída achatada é retornada quandobool_masked_postem alguns dos patches mascarados. - mlm_logits (
torch.Tensorde forma(batch_size, text_seq_length, text_vocab_size)ou de forma(total_masked_seq_length, text_vocab_size), opcional, retornado quandoinput_ids_maskedestão presentes epixel_valuesnão) — Os logits para a perda unimodal de MLM. A saída achatada é retornada quandoinput_ids_maskedtem alguns dos tokens mascarados. - itm_logits (
torch.Tensorde forma(batch_size, 2), opcional, retornado quandoinput_ids_maskedepixel_valuesestão presentes) — Os logits para a perda de ITM. Observe que a perda de ITM é calculada em pares mascarados no FLAVA. - contrastive_logits_per_image (
torch.Tensorde forma(image_batch_size, text_batch_size)) — As pontuações de produto escalar escalonado entreimage_embeddingsetext_embeddings, mas passadas pelas camadasimage_projectionetext_projectiondo FLAVA, respectivamente. Isso representa as pontuações de similaridade entre imagem e texto. Isso é calculado em imagens e textos sem máscara. - contrastive_logits_per_text (
torch.Tensorde forma(text_batch_size, image_batch_size)) — As pontuações de produto escalar escalonado entretext_embeddingseimage_embeddings, mas passadas pelas camadastext_projectioneimage_projectiondo FLAVA, respectivamente. Isso é calculado em imagens e textos sem máscara. - mmm_image_logits (
torch.Tensorde forma(batch_size, num_image_patches, image_vocab_size)ou de forma(total_masked_patches, image_vocab_size), opcional, retornado quandopixel_valueseinput_ids_maskedestão presentes) — Os logits para a perda multimodal de imagem MMM. Usabool_masked_pospara obter os patches mascarados. A saída achatada é retornada quandobool_masked_postem alguns dos patches mascarados. - mmm_text_logits (
torch.Tensorde forma(batch_size, text_seq_length, text_vocab_size)ou de forma(total_masked_seq_length, text_vocab_size), opcional, retornado quandopixel_valueseinput_ids_maskedestão presentes) — Os logits para a perda multimodal de texto do MMM. A saída achatada é retornada quandoinput_ids_maskedtem alguns tokens mascarados.
Exemplos:
>>> from PIL import Image
>>> from huggingface_hub.utils import httpx
>>> from io import BytesIO
>>> from transformers import FlavaForPreTraining, AutoProcessor
>>> url = "http://images.cocodataset.org/val2017/000000039769.jpg"
>>> with httpx.stream("GET", url) as response:
... image = Image.open(BytesIO(response.read()))
>>> model = FlavaForPreTraining.from_pretrained("facebook/flava-full")
>>> processor = AutoProcessor.from_pretrained("facebook/flava-full")
>>> text = ["a photo of a cat"]
>>> inputs = processor(
... images=[image],
... text=text,
... return_masks=True,
... return_codebook_pixels=True,
... padding=True,
... max_length=77,
... return_tensors="pt",
... )
>>> output = model(**inputs)FlavaModel
classe transformers.FlavaModel
< source >( config: FlavaConfig )
Parâmetros
- config (FlavaConfig) — 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 modelo Flava puro, que produz estados ocultos brutos sem nenhum cabeçalho específico no topo.
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
< source >( input_ids: typing.Optional[torch.LongTensor] = Nonepixel_values: typing.Optional[torch.Tensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Nonetoken_type_ids: typing.Optional[torch.Tensor] = Nonebool_masked_pos: typing.Optional[torch.Tensor] = Noneposition_ids: typing.Optional[torch.LongTensor] = Noneimage_attention_mask: typing.Optional[torch.Tensor] = Noneskip_multimodal_encoder: bool | None = Noneoutput_attentions: bool | None = Noneoutput_hidden_states: bool = Truereturn_dict: bool | None = None**kwargs ) → FlavaModelOutput or tuple(torch.Tensor)
Parâmetros
- input_ids (
torch.LongTensorde forma(batch_size, image_num_patches + text_seq_len)) — Índices dos tokens da sequência de entrada no vocabulário. Os índices podem ser obtidos usando AutoTokenizer. Consulte PreTrainedTokenizer.encode() e PreTrainedTokenizer.call() para mais detalhes. O que são IDs de entrada? - pixel_values (
torch.Tensorde forma(batch_size, num_channels, image_size, image_size), opcional) — Os tensores correspondentes às imagens de entrada. Os valores de pixels podem ser obtidos usando FlavaImageProcessor. Veja FlavaImageProcessor.call() para detalhes (FlavaProcessor usa FlavaImageProcessor para processar imagens). - attention_mask (
torch.Tensorde 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.
- token_type_ids (
torch.LongTensorde forma(batch_size, image_num_patches + text_seq_len), opcional) — Índices de tokens de segmento para indicar as primeiras e segundas partes das entradas. Os índices são selecionados em[0, 1]:- 0 corresponde a um token de sentence A,
- 1 corresponde a um token de frase B. O que são IDs de tipo de token?
- bool_masked_pos (
torch.BoolTensorde forma(batch_size, image_num_patches)) — Posições mascaradas booleanas. Indica quais patches estão mascarados (1) e quais não estão (0). - position_ids (
torch.LongTensorde 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]. - image_attention_mask (
torch.Tensorde forma(batch_size, image_num_patches), opcional) — Máscara para evitar a execução de atenção em valores de pixel de preenchimento para entradas de imagem. Valores da máscara selecionados em[0, 1]:- 1 para valores de pixel que são reais (ou seja, não mascarados),
- 0 para valores de pixel que são preenchimento (ou seja, mascarados).
- skip_multimodal_encoder (
*bool*, opcional) — Pula qualquer cálculo para o codificador multimodal. Útil se a codificação multimodal não for utilizada. - output_attentions (
bool, opcional) — Indica se os tensores de atenção de todas as camadas de atenção devem ser retornados. Consulteattentionsnos tensores retornados para mais detalhes. - output_hidden_states (
bool, opcional, padrãoTrue) — Indica se as hidden states de todas as camadas devem ser retornadas. Consultehidden_statesem tensors retornados para mais detalhes. - return_dict (
bool, opcional) — Indica se deve retornar um ModelOutput em vez de uma tupla simples.
Retorna
FlavaModelOutput ou tuple(torch.Tensor)
Um FlavaModelOutput 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 (FlavaConfig) e das entradas.
O método forward do FlavaModel 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
Moduleem 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.
- image_embeddings (
torch.Tensorde forma(batch_size, output_dim), opcional, retornado quandopixel_valuesestão presentes) — Os embeddings de imagem, que são basicamente a saída agregada (pooled output) do FlavaImageModel. - image_output (
BaseModelOutputWithPooling, opcional, retornado quandopixel_valuesestão presentes) — A saída do FlavaImageModel. - text_embeddings (
torch.Tensorde forma(batch_size, output_dim), opcional, retornado quandoinput_idsestão presentes) — As embeddings de texto, que são basicamente a saída agregada (pooled output) do FlavaTextModel. - text_output (
BaseModelOutputWithPooling, opcional, retornado quandoinput_idsestão presentes) — A saída do FlavaTextModel. - multimodal_embeddings (
torch.Tensorde forma(batch_size, output_dim), opcional, retornado quandoinput_idsepixel_valuesestão presentes eskip_multimodal_encoderéNoneouFalse) — As embeddings multimodais, que são basicamente a saída agregada (pooled output) do FlavaTextModel. - multimodal_output (
BaseModelOutputWithPooling, retornado quandoinput_idsepixel_valuesestão presentes eskip_multimodal_encoderéNoneouFalse) — A saída do FlavaMultimodalModel.
Exemplos:
>>> from PIL import Image
>>> from huggingface_hub.utils import httpx
>>> from io import BytesIO
>>> from transformers import AutoProcessor, FlavaModel
>>> model = FlavaModel.from_pretrained("facebook/flava-full")
>>> processor = AutoProcessor.from_pretrained("facebook/flava-full")
>>> url = "http://images.cocodataset.org/val2017/000000039769.jpg"
>>> with httpx.stream("GET", url) as response:
... image = Image.open(BytesIO(response.read()))
>>> inputs = processor(text=["a photo of a cat"], images=image, return_tensors="pt", padding=True)
>>> outputs = model(**inputs)
>>> image_embeddings = outputs.image_embeddings
>>> text_embeddings = outputs.text_embeddings
>>> multimodal_embeddings = outputs.multimodal_embeddings
>>> outputs.image_embeddings.shape
torch.Size([1, 197, 768])
>>> text_embeddings.shape
torch.Size([1, 7, 768])
>>> multimodal_embeddings.shape
torch.Size([1, 205, 768])get_text_features
< source >( input_ids: Tensorattention_mask: typing.Optional[torch.Tensor] = Nonetoken_type_ids: 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.LongTensorde forma(batch_size, text_seq_length)) — Índices dos tokens da sequência de entrada no vocabulário. 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.Tensorde 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.
- token_type_ids (
torch.LongTensorde forma(batch_size, text_seq_length), opcional) — Índices de tokens de segmento para indicar as primeiras e segundas partes das entradas. Os índices são selecionados em[0, 1]:- 0 corresponde a um token de sentence A,
- 1 corresponde a um token de frase B. O que são IDs de tipo de token?
- position_ids (
torch.Tensorde 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].
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 (FlavaConfig) e das entradas.
last_hidden_state (
torch.Tensorde forma(batch_size, sequence_length, hidden_size)) — Sequência de estados ocultos na saída da última camada do modelo.pooler_output (
torch.Tensorde 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 quandooutput_hidden_states=Trueé passado ou quandoconfig.output_hidden_states=True) — Tupla detorch.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 quandooutput_attentions=Trueé passado ou quandoconfig.output_attentions=True) — Tupla detorch.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.
Exemplos:
>>> import torch
>>> from transformers import AutoProcessor, FlavaModel
>>> model = FlavaModel.from_pretrained("{0}")
>>> processor = AutoProcessor.from_pretrained("{0}")
>>> inputs = processor(
... text=["a photo of a cat", "a photo of a dog"], max_length=77, padding="max_length", return_tensors="pt"
... )
>>> with torch.inference_mode():
... text_features = model.get_text_features(**inputs)get_image_features
< source >( pixel_values: Tensorbool_masked_pos: typing.Optional[torch.BoolTensor] = Noneinterpolate_pos_encoding: bool | None = Noneattention_mask: typing.Optional[torch.Tensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → BaseModelOutputWithPooling or tuple(torch.Tensor)
Parâmetros
- pixel_values (
torch.Tensorde forma(batch_size, num_channels, image_size, image_size)) — Os tensores correspondentes às imagens de entrada. Os valores de pixels podem ser obtidos usando FlavaImageProcessor. Consulte FlavaImageProcessor.call() para mais detalhes (FlavaProcessor usa FlavaImageProcessor para processar imagens). - bool_masked_pos (
torch.BoolTensorde forma(batch_size, image_num_patches)) — Posições mascaradas booleanas. Indica quais patches estão mascarados (1) e quais não estão (0). - interpolate_pos_encoding (
bool, opcional) — Se deve interpolar as codificações de posição pré-treinadas. - attention_mask (
torch.Tensorde 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.
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 (FlavaConfig) e das entradas.
last_hidden_state (
torch.Tensorde forma(batch_size, sequence_length, hidden_size)) — Sequência de estados ocultos na saída da última camada do modelo.pooler_output (
torch.Tensorde 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 quandooutput_hidden_states=Trueé passado ou quandoconfig.output_hidden_states=True) — Tupla detorch.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 quandooutput_attentions=Trueé passado ou quandoconfig.output_attentions=True) — Tupla detorch.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.
Exemplos:
>>> import torch
>>> from transformers import AutoProcessor, FlavaModel
>>> from transformers.image_utils import load_image
>>> model = FlavaModel.from_pretrained("{0}")
>>> processor = AutoProcessor.from_pretrained("{0}")
>>> url = "http://images.cocodataset.org/val2017/000000039769.jpg"
>>> image = load_image(url)
>>> inputs = processor(images=image, return_tensors="pt")
>>> with torch.inference_mode():
... image_features = model.get_image_features(**inputs)FlavaImageCodebook
classe transformers.FlavaImageCodebook
< source >( config: FlavaImageCodebookConfig**kwargs: Any )
Parâmetros
- config (FlavaImageCodebookConfig) — 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 modelo de codebook de imagem do FLAVA foi inspirado no codificador original do DALL-E. Ele gera estados ocultos brutos e pode ser usado para gerar tokens de imagem para uma imagem com base no vocabulário do DALL-E. É utilizado para gerar rótulos para MIM. Use get_codebook_indices para obter os tokens de imagem de uma imagem.
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.
FlavaTextModel
classe transformers.FlavaTextModel
< source >( config: FlavaTextConfigadd_pooling_layer: bool = True )
Parâmetros
- config (FlavaTextConfig) — 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.
- add_pooling_layer (
bool, opcional, padrãoTrue) — Se deve adicionar uma camada de pooling
O modelo de texto Flava puro, que produz estados ocultos brutos sem nenhum cabeçalho específico no topo.
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
< source >( input_ids: typing.Optional[torch.Tensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Nonetoken_type_ids: typing.Optional[torch.Tensor] = Noneposition_ids: typing.Optional[torch.Tensor] = Noneoutput_attentions: bool | None = Noneoutput_hidden_states: bool | None = Nonereturn_dict: bool | None = None**kwargs ) → BaseModelOutputWithPooling or tuple(torch.Tensor)
Parâmetros
- input_ids (
torch.LongTensorde forma(batch_size, text_seq_length)) — Índices dos tokens da sequência de entrada no vocabulário. 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.Tensorde 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.
- token_type_ids (
torch.LongTensorde forma(batch_size, text_seq_length), opcional) — Índices de tokens de segmento para indicar as primeiras e segundas partes das entradas. Os índices são selecionados em[0, 1]:- 0 corresponde a um token de sentence A,
- 1 corresponde a um token de frase B. O que são IDs de tipo de token?
- position_ids (
torch.Tensorde 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]. - output_attentions (
bool, opcional) — Indica se os tensores de atenção de todas as camadas de atenção devem ser retornados. Consulteattentionsnos tensores retornados para mais detalhes. - output_hidden_states (
bool, opcional) — Indica se as hidden states de todas as camadas devem ser retornadas. Consultehidden_statesem tensors retornados para mais detalhes. - return_dict (
bool, opcional) — Indica se deve retornar um ModelOutput em vez de uma tupla simples.
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 (FlavaConfig) e das entradas.
O método forward do FlavaTextModel 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
Moduleem 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.Tensorde forma(batch_size, sequence_length, hidden_size)) — Sequência de estados ocultos na saída da última camada do modelo.pooler_output (
torch.Tensorde 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 quandooutput_hidden_states=Trueé passado ou quandoconfig.output_hidden_states=True) — Tupla detorch.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 quandooutput_attentions=Trueé passado ou quandoconfig.output_attentions=True) — Tupla detorch.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.
FlavaImageModel
classe transformers.FlavaImageModel
< source >( config: FlavaImageConfigadd_pooling_layer: bool = True )
Parâmetros
- config (FlavaImageConfig) — 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.
- add_pooling_layer (
bool, opcional, padrãoTrue) — Se deve adicionar uma camada de pooling
O modelo Flava puro, que produz estados ocultos brutos sem nenhum cabeçalho específico no topo.
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
< source >( pixel_values: typing.Optional[torch.Tensor] = Nonebool_masked_pos: typing.Optional[torch.BoolTensor] = Noneinterpolate_pos_encoding: bool | None = Noneattention_mask: typing.Optional[torch.Tensor] = Noneoutput_attentions: bool | None = Noneoutput_hidden_states: bool | None = Nonereturn_dict: bool | None = None**kwargs ) → BaseModelOutputWithPooling or tuple(torch.Tensor)
Parâmetros
- pixel_values (
torch.Tensorde forma(batch_size, num_channels, image_size, image_size), opcional) — Os tensores correspondentes às imagens de entrada. Os valores de pixels podem ser obtidos usando FlavaImageProcessor. Veja FlavaImageProcessor.call() para detalhes (FlavaProcessor usa FlavaImageProcessor para processar imagens). - bool_masked_pos (
torch.BoolTensorde forma(batch_size, image_num_patches)) — Posições mascaradas booleanas. Indica quais patches estão mascarados (1) e quais não estão (0). - interpolate_pos_encoding (
bool, opcional) — Se deve interpolar as codificações de posição pré-treinadas. - attention_mask (
torch.Tensorde 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.
- output_attentions (
bool, opcional) — Indica se os tensores de atenção de todas as camadas de atenção devem ser retornados. Consulteattentionsnos tensores retornados para mais detalhes. - output_hidden_states (
bool, opcional) — Indica se as hidden states de todas as camadas devem ser retornadas. Consultehidden_statesem tensors retornados para mais detalhes. - return_dict (
bool, opcional) — Indica se deve retornar um ModelOutput em vez de uma tupla simples.
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 (FlavaConfig) e das entradas.
O método forward do FlavaImageModel 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
Moduleem 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.Tensorde forma(batch_size, sequence_length, hidden_size)) — Sequência de estados ocultos na saída da última camada do modelo.pooler_output (
torch.Tensorde 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 quandooutput_hidden_states=Trueé passado ou quandoconfig.output_hidden_states=True) — Tupla detorch.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 quandooutput_attentions=Trueé passado ou quandoconfig.output_attentions=True) — Tupla detorch.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.
FlavaMultimodalModel
classe transformers.FlavaMultimodalModel
< source >( config: FlavaMultimodalConfigadd_pooling_layer = True )
Parâmetros
- config (FlavaMultimodalConfig) — 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.
- add_pooling_layer (
bool, opcional, padrãoTrue) — Se deve adicionar uma camada de pooling
O modelo Flava puro, que produz estados ocultos brutos sem nenhum cabeçalho específico no topo.
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
< source >( hidden_states: Tensorattention_mask: typing.Optional[torch.Tensor] = Noneoutput_attentions: bool | None = Noneoutput_hidden_states: bool | None = Nonereturn_dict: bool | None = None**kwargs ) → BaseModelOutputWithPooling or tuple(torch.Tensor)
Parâmetros
- hidden_states (
torch.Tensorde forma(batch_size, image_num_patches + text_seq_len, hidden_size)) — Os estados ocultos concatenados dos codificadores unimodais. - attention_mask (
torch.Tensorde 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.
- output_attentions (
bool, opcional) — Indica se os tensores de atenção de todas as camadas de atenção devem ser retornados. Consulteattentionsnos tensores retornados para mais detalhes. - output_hidden_states (
bool, opcional) — Indica se as hidden states de todas as camadas devem ser retornadas. Consultehidden_statesem tensors retornados para mais detalhes. - return_dict (
bool, opcional) — Indica se deve retornar um ModelOutput em vez de uma tupla simples.
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 (FlavaConfig) e das entradas.
O método forward do FlavaMultimodalModel 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
Moduleem 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.Tensorde forma(batch_size, sequence_length, hidden_size)) — Sequência de estados ocultos na saída da última camada do modelo.pooler_output (
torch.Tensorde 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 quandooutput_hidden_states=Trueé passado ou quandoconfig.output_hidden_states=True) — Tupla detorch.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 quandooutput_attentions=Trueé passado ou quandoconfig.output_attentions=True) — Tupla detorch.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.