Transformers documentation

FLAVA

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v5.22.2).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Este modelo se publicó en HF papers el 2021-12-08 y se contribuyó a Hugging Face Transformers el 2022-05-11.

FLAVA

Resumen

El modelo FLAVA fue propuesto en FLAVA: A Foundational Language And Vision Alignment Model por Amanpreet Singh, Ronghang Hu, Vedanuj Goswami, Guillaume Couairon, Wojciech Galuba, Marcus Rohrbach y Douwe Kiela, y fue aceptado en CVPR 2022.

El objetivo del artículo es crear un modelo de base unificado que pueda funcionar en tareas de visión, lenguaje y multimodales de visión y lenguaje.

El resumen del artículo es el siguiente:

Los modelos de visión y visión-lenguaje de última generación dependen del preentrenamiento visiolingüístico a gran escala para obtener un buen rendimiento en una variedad de tareas posteriores. En general, estos modelos suelen ser intermodales (contrastivos) o multimodales (con fusión temprana), pero no ambos; y a menudo solo se enfocan en modalidades o tareas específicas. Una dirección prometedora sería utilizar un modelo universal holístico único, como “fundamento”, que aborde todas las modalidades a la vez: un verdadero modelo de fundación de visión y lenguaje debería ser bueno en tareas de visión, tareas de lenguaje y tareas de visión y lenguaje intermodales y multimodales. Presentamos FLAVA como tal modelo y demostramos un rendimiento impresionante en una amplia gama de 35 tareas que abarcan estas modalidades objetivo.

Este modelo fue aportado por aps. El código original se puede encontrar aquí.

FlavaConfig

clase transformers.FlavaConfig

< >

( 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) — Diccionario de opciones de configuración utilizado para inicializar FlavaImageConfig.
  • text_config (Union[dict[str, Any], ~configuration_utils.PreTrainedConfig], opcional) — El objeto de configuración o el diccionario del backbone de texto.
  • multimodal_config (dict, opcional) — Diccionario de opciones de configuración utilizado para inicializar FlavaMultimodalConfig.
  • image_codebook_config (dict, opcional) — Diccionario de opciones de configuración utilizado para inicializar FlavaCodebookConfig.
  • hidden_size (int, opcional, valor predeterminado 768) — Dimensión de las representaciones ocultas.
  • layer_norm_eps (float, opcional, valor predeterminado 1e-12) — El epsilon utilizado por las capas de normalización de capa.
  • projection_dim (int, opcional, valor predeterminado 768) — Dimensionalidad de las capas de proyección de texto y visión.
  • init_codebook (bool, opcional, por defecto True) — Si se debe inicializar el codebook
  • logit_scale_init_value (float, opcional, valor predeterminado 2.6592) — El valor inicial del parámetro logit_scale. El valor predeterminado se utiliza según la implementación original de FLAVA/CLIP.
  • initializer_range (float, opcional, valor predeterminado 0.02) — La desviación estándar del truncated_normal_initializer para inicializar todas las matrices de pesos.
  • ce_ignore_index (int, opcional, valor predeterminado -100) — Índice de entropía cruzada que se debe ignorar.
  • mim_weight (float, opcional, valor predeterminado 1.0) — Peso que se asignará a la pérdida unimodal de MIM (Masked Image Modeling)
  • mlm_weight (float, opcional, valor predeterminado 1.0) — Peso que se asignará a la pérdida unimodal de MLM (Masked Language Modeling)
  • global_contrastive_weight (float, opcional, valor predeterminado 1.0) — Peso que se asignará a la pérdida de alineación cruzada contrastiva global.
  • itm_weight (float, opcional, valor predeterminado 1.0) — Peso que se asignará a la pérdida multimodal de correspondencia entre imagen y texto.
  • mmm_image_weight (float, opcional, valor predeterminado 1.0) — Peso que se asignará a la parte de imagen de la pérdida MMM.
  • mmm_text_weight (float, opcional, valor predeterminado 1.0) — Peso que se asignará a la parte de texto de la pérdida MMM.
  • global_backprop_contrastive (bool, opcional, valor predeterminado True) — Si se debe usar la propagación hacia atrás global a través de todos los workers en la pérdida contrastiva.
  • skip_unmasked_multimodal_encoder (bool, opcional, valor predeterminado True) — Si se debe omitir la ejecución del codificador multimodal sin enmascarar cuyos resultados no se utilizan en las pérdidas de FLAVA.
  • return_loss (bool, opcional, valor predeterminado True) — Si se debe devolver la pérdida o no
  • tie_word_embeddings (bool, opcional, valor predeterminado True) — Si se deben vincular las matrices de pesos de embeddings según el mapeo tied_weights_keys del modelo.
  • initializer_factor (float, opcional, valor predeterminado 1.0) — Un factor para inicializar todas las matrices de pesos (debe mantenerse en 1, se usa internamente para pruebas de inicialización).

Esta es la clase de configuración para almacenar la configuración de un FlavaModel. Se utiliza para instanciar un modelo Flava según los argumentos especificados, definiendo la arquitectura del modelo. Instanciar una configuración con los valores predeterminados producirá una configuración similar a la de facebook/flava-full

Los objetos de configuración heredan de PreTrainedConfig y se pueden usar para controlar las salidas del modelo. Lea la documentación de PreTrainedConfig para obtener más información.

Ejemplo:

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

FlavaTextConfig

clase transformers.FlavaTextConfig

< >

( 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, valor predeterminado 30522) — Tamaño del vocabulario del modelo. Define el número de tokens diferentes que pueden representarse mediante input_ids.
  • type_vocab_size (int, opcional, valor predeterminado 2) — El tamaño del vocabulario de token_type_ids.
  • max_position_embeddings (int, opcional, valor predeterminado 512) — La longitud máxima de secuencia con la que se podría utilizar este modelo.
  • hidden_size (int, opcional, valor predeterminado 768) — Dimensión de las representaciones ocultas.
  • num_hidden_layers (int, opcional, valor predeterminado 12) — Número de capas ocultas en el decodificador del Transformer.
  • num_attention_heads (int, opcional, valor predeterminado 12) — Número de cabezas de atención para cada capa de atención en el decodificador Transformer.
  • intermediate_size (int, opcional, valor predeterminado 3072) — Dimensión de las representaciones del MLP.
  • hidden_act (str, opcional, valor predeterminado gelu) — La función de activación no lineal (función o cadena) en el decodificador. Por ejemplo, "gelu", "relu", "silu", etc.
  • hidden_dropout_prob (Union[float, int], opcional, valor predeterminado 0.0) — La probabilidad de dropout para todas las capas totalmente conectadas en las incrustaciones, el codificador y el pooler.
  • attention_probs_dropout_prob (Union[float, int], opcional, valor predeterminado 0.0) — La proporción de dropout para las probabilidades de atención.
  • initializer_range (float, opcional, valor predeterminado 0.02) — La desviación estándar del truncated_normal_initializer para inicializar todas las matrices de pesos.
  • layer_norm_eps (float, opcional, valor predeterminado 1e-12) — El epsilon utilizado por las capas de normalización de capa.
  • pad_token_id (int, opcional, valor predeterminado 0) — Id del token utilizado para el relleno en el vocabulario.
  • qkv_bias (bool, opcional, valor predeterminado True) — Si se debe añadir un sesgo a las consultas, claves y valores.

Esta es la clase de configuración para almacenar la configuración de un FlavaModel. Se utiliza para instanciar un modelo Flava según los argumentos especificados, definiendo la arquitectura del modelo. Instanciar una configuración con los valores predeterminados producirá una configuración similar a la de facebook/flava-full

Los objetos de configuración heredan de PreTrainedConfig y se pueden usar para controlar las salidas del modelo. Lea la documentación de PreTrainedConfig para obtener más información.

Ejemplo:

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

FlavaImageConfig

clase transformers.FlavaImageConfig

< >

( 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, valor predeterminado 768) — Dimensión de las representaciones ocultas.
  • num_hidden_layers (int, opcional, valor predeterminado 12) — Número de capas ocultas en el decodificador del Transformer.
  • num_attention_heads (int, opcional, valor predeterminado 12) — Número de cabezas de atención para cada capa de atención en el decodificador Transformer.
  • intermediate_size (int, opcional, valor predeterminado 3072) — Dimensión de las representaciones del MLP.
  • hidden_act (str, opcional, valor predeterminado gelu) — La función de activación no lineal (función o cadena) en el decodificador. Por ejemplo, "gelu", "relu", "silu", etc.
  • hidden_dropout_prob (Union[float, int], opcional, valor predeterminado 0.0) — La probabilidad de dropout para todas las capas totalmente conectadas en las incrustaciones, el codificador y el pooler.
  • attention_probs_dropout_prob (Union[float, int], opcional, valor predeterminado 0.0) — La proporción de dropout para las probabilidades de atención.
  • initializer_range (float, opcional, valor predeterminado 0.02) — La desviación estándar del truncated_normal_initializer para inicializar todas las matrices de pesos.
  • layer_norm_eps (float, opcional, valor predeterminado 1e-12) — El epsilon utilizado por las capas de normalización de capa.
  • image_size (Union[int, list[int], tuple[int, int]], opcional, valor predeterminado 224) — El tamaño (resolución) de cada imagen.
  • patch_size (Union[int, list[int], tuple[int, int]], opcional, valor predeterminado 16) — El tamaño (resolución) de cada parche.
  • num_channels (int, opcional, valor predeterminado 3) — El número de canales de entrada.
  • qkv_bias (bool, opcional, valor predeterminado True) — Si se debe añadir un sesgo a las consultas, claves y valores.
  • mask_token (bool, opcional, valor predeterminado True) — Indica si se debe usar un token de máscara o no. Se utiliza en la pérdida de MIM (Masked Image Modeling) para FLAVA.
  • vocab_size (int, opcional, valor predeterminado 8192) — Tamaño del vocabulario del modelo. Define el número de tokens diferentes que pueden representarse mediante input_ids.

Esta es la clase de configuración para almacenar la configuración de un FlavaModel. Se utiliza para instanciar un modelo Flava según los argumentos especificados, definiendo la arquitectura del modelo. Instanciar una configuración con los valores predeterminados producirá una configuración similar a la de facebook/flava-full

Los objetos de configuración heredan de PreTrainedConfig y se pueden usar para controlar las salidas del modelo. Lea la documentación de PreTrainedConfig para obtener más información.

Ejemplo:

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

FlavaMultimodalConfig

clase transformers.FlavaMultimodalConfig

< >

( 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, valor predeterminado 768) — Dimensión de las representaciones ocultas.
  • num_hidden_layers (int, opcional, valor predeterminado 6) — Número de capas ocultas en el decodificador Transformer.
  • num_attention_heads (int, opcional, valor predeterminado 12) — Número de cabezas de atención para cada capa de atención en el decodificador Transformer.
  • intermediate_size (int, opcional, valor predeterminado 3072) — Dimensión de las representaciones del MLP.
  • hidden_act (str, opcional, valor predeterminado gelu) — La función de activación no lineal (función o cadena) en el decodificador. Por ejemplo, "gelu", "relu", "silu", etc.
  • hidden_dropout_prob (Union[float, int], opcional, valor predeterminado 0.0) — La probabilidad de dropout para todas las capas totalmente conectadas en las incrustaciones, el codificador y el pooler.
  • attention_probs_dropout_prob (Union[float, int], opcional, valor predeterminado 0.0) — La proporción de dropout para las probabilidades de atención.
  • initializer_range (float, opcional, valor predeterminado 0.02) — La desviación estándar del truncated_normal_initializer para inicializar todas las matrices de pesos.
  • layer_norm_eps (float, opcional, valor predeterminado 1e-12) — El epsilon utilizado por las capas de normalización de capa.
  • qkv_bias (bool, opcional, valor predeterminado True) — Si se debe añadir un sesgo a las consultas, claves y valores.
  • use_cls_token (bool, opcional, valor predeterminado True) — Si se debe usar un token CLS adicional para configuraciones multimodales. Generalmente necesario para el modelo FLAVA.

Esta es la clase de configuración para almacenar la configuración de un FlavaModel. Se utiliza para instanciar un modelo Flava según los argumentos especificados, definiendo la arquitectura del modelo. Instanciar una configuración con los valores predeterminados producirá una configuración similar a la de facebook/flava-full

Los objetos de configuración heredan de PreTrainedConfig y se pueden usar para controlar las salidas del modelo. Lea la documentación de PreTrainedConfig para obtener más información.

Ejemplo:

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

FlavaImageCodebookConfig

clase transformers.FlavaImageCodebookConfig

< >

( 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, valor predeterminado 4) — Número de grupos que se crearán. Este parámetro, por el momento, no afecta al modelo y se utiliza para algunos cálculos y estimaciones internos.
  • input_channels (int, opcional, valor predeterminado 3) — El número de canales de entrada.
  • num_blocks_per_group (int, opcional, valor predeterminado 2) — Número de bloques basados en convoluciones por grupo.
  • hidden_size (int, opcional, valor predeterminado 256) — Dimensión de las representaciones ocultas.
  • vocab_size (int, opcional, valor predeterminado 8192) — Tamaño del vocabulario del modelo. Define el número de tokens diferentes que pueden representarse mediante input_ids.
  • freeze (bool, por defecto True) — Si se congelan los pesos del modelo.
  • initializer_range (float, opcional, valor predeterminado 0.02) — La desviación estándar del truncated_normal_initializer para inicializar todas las matrices de pesos.

Esta es la clase de configuración para almacenar la configuración de un FlavaModel. Se utiliza para instanciar un modelo Flava según los argumentos especificados, definiendo la arquitectura del modelo. Instanciar una configuración con los valores predeterminados producirá una configuración similar a la de facebook/flava-full

Los objetos de configuración heredan de PreTrainedConfig y se pueden usar para controlar las salidas del modelo. Lea la documentación de PreTrainedConfig para obtener más información.

Ejemplo:

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

FlavaProcessor

clase transformers.FlavaProcessor

< >

( image_processor = Nonetokenizer = None**kwargs )

Parámetros

  • image_processor (FlavaImageProcessor) — El procesador de imágenes es una entrada obligatoria.
  • tokenizer (BertTokenizer) — El tokenizador es una entrada obligatoria.

Construye un FlavaProcessor que envuelve un procesador de imágenes y un tokenizador en un único procesador.

FlavaProcessor ofrece todas las funcionalidades de FlavaImageProcessor y BertTokenizer. Consulte ~FlavaImageProcessor y ~BertTokenizer para obtener más información.

__call__

< >

( 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) — Imagen a preprocesar. Espera una imagen única o un lote de imágenes con valores de píxeles que van de 0 a 255. Si se pasan imágenes con valores de píxeles entre 0 y 1, establezca do_rescale=False.
  • text (Union[str, list[str], list[list[str]]], opcional) — La secuencia o lote de secuencias que se codificarán. Cada secuencia puede ser una cadena de caracteres o una lista de cadenas de caracteres (cadenas pre-tokenizadas). Si se pasa una entrada pre-tokenizada, establezca is_split_into_words=True para evitar ambigüedad con las entradas por lotes.
  • 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 preprocesar. Espera un único vídeo o un lote de vídeos con valores de píxeles que van de 0 a 255. Si se pasan vídeos con valores de píxeles entre 0 y 1, establece do_rescale=False.
  • audio (Union[numpy.ndarray, torch.Tensor, collections.abc.Sequence[numpy.ndarray], collections.abc.Sequence[torch.Tensor]], opcional) — El audio o lote de audios que se va a preparar. Cada audio puede ser un array de NumPy o un tensor de PyTorch. En el caso de un array de NumPy/tensor de PyTorch, cada audio debe tener la forma (C, T), donde C es el número de canales y T es la longitud de la muestra del audio.
  • return_tensors (str o TensorType, opcional) — Si se establece, devolverá tensores de un marco de trabajo específico. Los valores aceptables son:
    • 'pt': Devuelve objetos torch.Tensor de PyTorch.
    • 'np': Devuelve objetos np.ndarray de NumPy.
  • **kwargs (ProcessingKwargs, opcional) — Opciones de procesamiento adicionales para cada modalidad (texto, imágenes, videos, audio). Los parámetros específicos del modelo se enumeran arriba; consulte la clase TypedDict para obtener la lista completa de argumentos admitidos.

FlavaImageProcessor

clase transformers.FlavaImageProcessor

< >

( **kwargs: *<class 'transformers.models.flava.image_processing_flava.FlavaImageProcessorKwargs'> )

Parámetros

  • do_convert_rgb (bool, kwargs, opcional) — Si se debe convertir la imagen a RGB.
  • do_resize (bool, kwargs, opcional, valor predeterminado True) — Si se debe redimensionar la imagen.
  • size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs, por defecto {'height' -- 224, 'width': 224}): Describe las dimensiones de entrada máximas para el modelo.
  • default_to_square (bool, kwargs, opcional, valor predeterminado True) — Si se debe usar una imagen cuadrada por defecto al redimensionar, si size es un int.
  • crop_size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs, por defecto {'height' -- 224, 'width': 224}): Tamaño de la imagen de salida tras aplicar center_crop.
  • resample (Annotated[Union[int, PILImageResampling, NoneType], None], kwargs, por defecto 3) — Filtro de remuestreo a utilizar si se redimensiona la imagen. Puede ser uno de los valores de la enumeración PILImageResampling. Solo tiene efecto si do_resize está establecido en True.
  • do_rescale (bool, kwargs, opcional, valor predeterminado True) — Si se debe reescalar la imagen.
  • rescale_factor (float, kwargs, opcional, valor predeterminado 0.00392156862745098) — Factor de reescalado para reescalar la imagen si do_rescale está establecido en True.
  • do_normalize (bool, kwargs, opcional, valor predeterminado True) — Si se debe normalizar la imagen.
  • image_mean (Union[float, list[float], tuple[float, ...]], kwargs, opcional, valor predeterminado [0.48145466, 0.4578275, 0.40821073]) — Media de la imagen a utilizar para la normalización. Solo tiene efecto si do_normalize está establecido en True.
  • image_std (Union[float, list[float], tuple[float, ...]], kwargs, opcional, valor predeterminado [0.26862954, 0.26130258, 0.27577711]) — Desviación estándar de la imagen a utilizar para la normalización. Solo tiene efecto si do_normalize está establecido en True.
  • do_pad (bool, kwargs, opcional) — Indica si se debe aplicar relleno a la imagen. El relleno se realiza hasta el tamaño más grande del lote o hasta un tamaño cuadrado fijo por imagen. La estrategia exacta de relleno depende del modelo.
  • pad_size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — El tamaño en {"height": int, "width" int} al que se rellenan las imágenes. Debe ser mayor que cualquier tamaño de imagen proporcionado para el preprocesamiento. Si no se proporciona pad_size, las imágenes se rellenarán hasta la mayor altura y anchura del lote. Se aplica solo cuando do_pad=True.
  • do_center_crop (bool, kwargs, opcional, valor predeterminado True) — Si se debe recortar la imagen centrada.
  • data_format (Union[str, ~image_utils.ChannelDimension], kwargs, opcional) — Solo se admite ChannelDimension.FIRST. Se añadió para garantizar la compatibilidad con los procesadores lentos.
  • input_data_format (Union[str, ~image_utils.ChannelDimension], kwargs, opcional) — El formato de la dimensión de canales para la imagen de entrada. Si no se establece, el formato de la dimensión de canales se infiere a partir de la imagen de entrada. Puede ser uno de:
    • "channels_first" o ChannelDimension.FIRST: imagen en formato (num_channels, height, width).
    • "channels_last" o ChannelDimension.LAST: imagen en formato (altura, ancho, num_canales).
    • "none" o ChannelDimension.NONE: imagen en formato (altura, ancho).
  • device (Annotated[Union[str, torch.device, NoneType], None], kwargs) — El dispositivo en el que se procesarán los videos. Si no se establece, el dispositivo se infiere a partir de los videos de entrada.
  • return_tensors (Annotated[str | ~utils.generic.TensorType | None, None], kwargs) — Devuelve tensores apilados si se establece en 'pt'; en caso contrario, devuelve una lista de tensores.
  • disable_grouping (bool, kwargs, opcional) — Si se debe deshabilitar el agrupamiento de imágenes por tamaño para procesarlas de forma individual y no en lotes. Si es None, se establecerá en True si las imágenes están en CPU, y en False en caso contrario. Esta elección se basa en observaciones empíricas, como se detalla aquí: https://github.com/huggingface/transformers/pull/38157
  • image_seq_length (int, kwargs, opcional) — El número de tokens de imagen que se utilizarán para cada imagen en la entrada. Añadido por compatibilidad con versiones anteriores, pero en futuros modelos debería establecerse como un atributo del procesador.
  • return_image_mask (bool, kwargs, opcional, valor predeterminado False) — Si se debe devolver la máscara de imagen. Puede ser sobrescrito por el parámetro return_image_mask en preprocess.
  • input_size_patches (int, kwargs, opcional, valor predeterminado 14) — Número de parches en la imagen en las direcciones de altura y ancho. 14x14 = 196 parches en total. Se puede sobrescribir mediante el parámetro input_size_patches en preprocess.
  • total_mask_patches (int, kwargs, opcional, valor predeterminado 75) — Número total de parches que deben enmascararse. Puede sobrescribirse mediante el parámetro total_mask_patches en preprocess.
  • mask_group_min_patches (int, kwargs, opcional, valor predeterminado 16) — Número mínimo de parches que deben enmascararse. Puede sobrescribirse mediante el parámetro mask_group_min_patches en preprocess.
  • mask_group_max_patches (int, kwargs, opcional) — Número máximo de parches que deben enmascararse. Puede sobrescribirse mediante el parámetro mask_group_max_patches en preprocess.
  • mask_group_min_aspect_ratio (float, kwargs, opcional, valor predeterminado 0.3) — Relación de aspecto mínima de la ventana de la máscara. Puede ser sobrescrita por el parámetro mask_group_min_aspect_ratio en preprocess.
  • mask_group_max_aspect_ratio (float, kwargs, opcional) — Relación de aspecto máxima de la ventana de la máscara. Puede ser sobrescrita por el parámetro mask_group_max_aspect_ratio en preprocess.
  • return_codebook_pixels (bool, kwargs, opcional, valor predeterminado False) — Si se deben devolver los valores de píxeles del codebook.
  • codebook_do_resize (bool, kwargs, opcional, valor predeterminado True) — Si se debe redimensionar la entrada para el codebook a un tamaño determinado. Puede ser anulado por el parámetro codebook_do_resize en preprocess. codebook_size.
  • codebook_size (dict[str, *kwargs*, int], opcional, valor predeterminado {"height" -- 224, "width": 224}): Redimensiona la entrada para el codebook al tamaño indicado. Puede ser sobrescrito por el parámetro codebook_size en preprocess.
  • codebook_resample (PILImageResampling, kwargs, opcional, valor predeterminado PILImageResampling.LANCZOS) — Filtro de remuestreo a utilizar si se redimensiona la imagen del codebook. Con torchvision < 0.27, LANCZOS no es compatible con Tensors de torch y se utiliza BICUBIC como alternativa más cercana. Puede sobrescribirse mediante el parámetro codebook_resample en preprocess.
  • codebook_do_center_crop (bool, kwargs, opcional, valor predeterminado True) — Indica si se debe recortar la entrada para el codebook en el centro. Si el tamaño de la entrada es menor que codebook_crop_size en cualquier borde, la imagen se rellena con 0 y luego se recorta en el centro. Puede ser anulado por el parámetro codebook_do_center_crop en preprocess.
  • codebook_crop_size (dict[str, *kwargs*, int], opcional, valor predeterminado {"height" -- 224, "width": 224}): Tamaño de salida deseado para la entrada del codebook al aplicar recorte centrado. Puede ser sobrescrito por el parámetro codebook_crop_size en preprocess.
  • codebook_do_rescale (bool, kwargs, opcional, valor predeterminado True) — Si se debe reescalar la entrada para el codebook mediante el factor de escala especificado codebook_rescale_factor. Puede ser anulado por el parámetro codebook_do_rescale en preprocess.
  • codebook_rescale_factor (int, kwargs o float, opcional, valor predeterminado 1/255) — Define el factor de escala a utilizar si se reescala la imagen del codebook. Puede ser anulado por el parámetro codebook_rescale_factor en preprocess.
  • codebook_do_map_pixels (bool, kwargs, opcional, valor predeterminado True) — Si se deben mapear los valores de píxeles de la entrada del codebook a (1 - 2e)x + e. Se puede sobrescribir mediante el parámetro codebook_do_map_pixels en preprocess.
  • codebook_do_normalize (bool, kwargs, opcional, valor predeterminado True) — Indica si se debe normalizar la entrada para el codebook con codebook_image_mean y codebook_image_std. Puede ser anulado por el parámetro codebook_do_normalize en preprocess.
  • codebook_image_mean (Optional[Union[float, *kwargs*, Iterable[float]]], opcional, valor predeterminado [0, 0, 0]) — La secuencia de medias para cada canal, que se utilizará al normalizar las imágenes para el codebook. Puede ser sobrescrita por el parámetro codebook_image_mean en preprocess.
  • codebook_image_std (Optional[Union[float, *kwargs*, Iterable[float]]], opcional, valor predeterminado [0.5, 0.5, 0.5]) — La secuencia de desviaciones estándar para cada canal, que se utilizará al normalizar las imágenes para el codebook. Puede ser sobrescrita por el parámetro codebook_image_std en preprocess.

Construye un procesador de imágenes FlavaImageProcessor.

preprocesar

< >

( 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]]) — Imagen a preprocesar. Espera una imagen única o un lote de imágenes con valores de píxeles que van de 0 a 255. Si se pasan imágenes con valores de píxeles entre 0 y 1, establezca do_rescale=False.
  • do_convert_rgb (bool, kwargs, opcional) — Si se debe convertir la imagen a RGB.
  • do_resize (bool, kwargs, opcional) — Si se debe redimensionar la imagen.
  • size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — Describe las dimensiones de entrada máximas del modelo.
  • default_to_square (bool, kwargs, opcional) — Si se debe usar una imagen cuadrada por defecto al redimensionar, si size es un int.
  • crop_size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — Tamaño de la imagen de salida tras aplicar center_crop.
  • resample (Annotated[Union[int, PILImageResampling, NoneType], None], kwargs) — Filtro de remuestreo a utilizar si se redimensiona la imagen. Puede ser uno de los enum PILImageResampling. Solo tiene efecto si do_resize está establecido en True.
  • do_rescale (bool, kwargs, opcional) — Si se debe reescalar la imagen.
  • rescale_factor (float, kwargs, opcional) — Factor de reescalado para reescalar la imagen si do_rescale está establecido en True.
  • do_normalize (bool, kwargs, opcional) — Si se debe normalizar la imagen.
  • image_mean (Union[float, list[float], tuple[float, ...]], kwargs, opcional) — Media de la imagen a utilizar para la normalización. Solo tiene efecto si do_normalize está establecido en True.
  • image_std (Union[float, list[float], tuple[float, ...]], kwargs, opcional) — Desviación estándar de la imagen a utilizar para la normalización. Solo tiene efecto si do_normalize está establecido en True.
  • do_pad (bool, kwargs, opcional) — Indica si se debe aplicar relleno a la imagen. El relleno se realiza hasta el tamaño más grande del lote o hasta un tamaño cuadrado fijo por imagen. La estrategia exacta de relleno depende del modelo.
  • pad_size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — El tamaño en {"height": int, "width" int} al que se rellenan las imágenes. Debe ser mayor que cualquier tamaño de imagen proporcionado para el preprocesamiento. Si no se proporciona pad_size, las imágenes se rellenarán hasta la mayor altura y anchura del lote. Se aplica solo cuando do_pad=True.
  • do_center_crop (bool, kwargs, opcional) — Si se debe recortar la imagen centrada.
  • data_format (Union[str, ~image_utils.ChannelDimension], kwargs, opcional) — Solo se admite ChannelDimension.FIRST. Se añadió para garantizar la compatibilidad con los procesadores lentos.
  • input_data_format (Union[str, ~image_utils.ChannelDimension], kwargs, opcional) — El formato de la dimensión de canales para la imagen de entrada. Si no se establece, el formato de la dimensión de canales se infiere a partir de la imagen de entrada. Puede ser uno de:
    • "channels_first" o ChannelDimension.FIRST: imagen en formato (num_channels, height, width).
    • "channels_last" o ChannelDimension.LAST: imagen en formato (altura, ancho, num_canales).
    • "none" o ChannelDimension.NONE: imagen en formato (altura, ancho).
  • device (Annotated[Union[str, torch.device, NoneType], None], kwargs) — El dispositivo en el que se procesarán los videos. Si no se establece, el dispositivo se infiere a partir de los videos de entrada.
  • return_tensors (Annotated[str | ~utils.generic.TensorType | None, None], kwargs) — Devuelve tensores apilados si se establece en 'pt'; en caso contrario, devuelve una lista de tensores.
  • disable_grouping (bool, kwargs, opcional) — Si se debe deshabilitar el agrupamiento de imágenes por tamaño para procesarlas de forma individual y no en lotes. Si es None, se establecerá en True si las imágenes están en CPU, y en False en caso contrario. Esta elección se basa en observaciones empíricas, como se detalla aquí: https://github.com/huggingface/transformers/pull/38157
  • image_seq_length (int, kwargs, opcional) — El número de tokens de imagen que se utilizarán para cada imagen en la entrada. Añadido por compatibilidad con versiones anteriores, pero en futuros modelos debería establecerse como un atributo del procesador.
  • return_image_mask (bool, kwargs, opcional, valor predeterminado False) — Si se debe devolver la máscara de imagen. Puede ser sobrescrito por el parámetro return_image_mask en preprocess.
  • input_size_patches (int, kwargs, opcional, valor predeterminado 14) — Número de parches en la imagen en las direcciones de altura y ancho. 14x14 = 196 parches en total. Se puede sobrescribir mediante el parámetro input_size_patches en preprocess.
  • total_mask_patches (int, kwargs, opcional, valor predeterminado 75) — Número total de parches que deben enmascararse. Puede sobrescribirse mediante el parámetro total_mask_patches en preprocess.
  • mask_group_min_patches (int, kwargs, opcional, valor predeterminado 16) — Número mínimo de parches que deben enmascararse. Puede sobrescribirse mediante el parámetro mask_group_min_patches en preprocess.
  • mask_group_max_patches (int, kwargs, opcional) — Número máximo de parches que deben enmascararse. Puede sobrescribirse mediante el parámetro mask_group_max_patches en preprocess.
  • mask_group_min_aspect_ratio (float, kwargs, opcional, valor predeterminado 0.3) — Relación de aspecto mínima de la ventana de la máscara. Puede ser sobrescrita por el parámetro mask_group_min_aspect_ratio en preprocess.
  • mask_group_max_aspect_ratio (float, kwargs, opcional) — Relación de aspecto máxima de la ventana de la máscara. Puede ser sobrescrita por el parámetro mask_group_max_aspect_ratio en preprocess.
  • return_codebook_pixels (bool, kwargs, opcional, valor predeterminado False) — Si se deben devolver los valores de píxeles del codebook.
  • codebook_do_resize (bool, kwargs, opcional, valor predeterminado True) — Si se debe redimensionar la entrada para el codebook a un tamaño determinado. Puede ser anulado por el parámetro codebook_do_resize en preprocess. codebook_size.
  • codebook_size (dict[str, *kwargs*, int], opcional, valor predeterminado {"height" -- 224, "width": 224}): Redimensiona la entrada para el codebook al tamaño indicado. Puede ser sobrescrito por el parámetro codebook_size en preprocess.
  • codebook_resample (PILImageResampling, kwargs, opcional, valor predeterminado PILImageResampling.LANCZOS) — Filtro de remuestreo a utilizar si se redimensiona la imagen del codebook. Con torchvision < 0.27, LANCZOS no es compatible con Tensors de torch y se utiliza BICUBIC como alternativa más cercana. Puede sobrescribirse mediante el parámetro codebook_resample en preprocess.
  • codebook_do_center_crop (bool, kwargs, opcional, valor predeterminado True) — Indica si se debe recortar la entrada para el codebook en el centro. Si el tamaño de la entrada es menor que codebook_crop_size en cualquier borde, la imagen se rellena con 0 y luego se recorta en el centro. Puede ser anulado por el parámetro codebook_do_center_crop en preprocess.
  • codebook_crop_size (dict[str, *kwargs*, int], opcional, valor predeterminado {"height" -- 224, "width": 224}): Tamaño de salida deseado para la entrada del codebook al aplicar recorte centrado. Puede ser sobrescrito por el parámetro codebook_crop_size en preprocess.
  • codebook_do_rescale (bool, kwargs, opcional, valor predeterminado True) — Si se debe reescalar la entrada para el codebook mediante el factor de escala especificado codebook_rescale_factor. Puede ser anulado por el parámetro codebook_do_rescale en preprocess.
  • codebook_rescale_factor (int, kwargs o float, opcional, valor predeterminado 1/255) — Define el factor de escala a utilizar si se reescala la imagen del codebook. Puede ser anulado por el parámetro codebook_rescale_factor en preprocess.
  • codebook_do_map_pixels (bool, kwargs, opcional, valor predeterminado True) — Si se deben mapear los valores de píxeles de la entrada del codebook a (1 - 2e)x + e. Se puede sobrescribir mediante el parámetro codebook_do_map_pixels en preprocess.
  • codebook_do_normalize (bool, kwargs, opcional, valor predeterminado True) — Indica si se debe normalizar la entrada para el codebook con codebook_image_mean y codebook_image_std. Puede ser anulado por el parámetro codebook_do_normalize en preprocess.
  • codebook_image_mean (Optional[Union[float, *kwargs*, Iterable[float]]], opcional, valor predeterminado [0, 0, 0]) — La secuencia de medias para cada canal, que se utilizará al normalizar las imágenes para el codebook. Puede ser sobrescrita por el parámetro codebook_image_mean en preprocess.
  • codebook_image_std (Optional[Union[float, *kwargs*, Iterable[float]]], opcional, valor predeterminado [0.5, 0.5, 0.5]) — La secuencia de desviaciones estándar para cada canal, que se utilizará al normalizar las imágenes para el codebook. Puede ser sobrescrita por el parámetro codebook_image_std en preprocess.

Devuelve

~image_processing_base.BatchFeature

  • data (dict) — Diccionario de listas/arrays/tensores devueltos por el método call (‘pixel_values’, etc.).
  • tensor_type (Union[None, str, TensorType], opcional) — Puede especificar un tensor_type aquí para convertir las listas de enteros en Tensors de PyTorch/Numpy durante la inicialización.

FlavaImageProcessorPil

clase transformers.FlavaImageProcessorPil

< >

( **kwargs: *<class 'transformers.models.flava.image_processing_pil_flava.FlavaImageProcessorKwargs'> )

Parámetros

  • do_convert_rgb (bool, kwargs, opcional) — Si se debe convertir la imagen a RGB.
  • do_resize (bool, kwargs, opcional, valor predeterminado True) — Si se debe redimensionar la imagen.
  • size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs, por defecto {'height' -- 224, 'width': 224}): Describe las dimensiones de entrada máximas para el modelo.
  • default_to_square (bool, kwargs, opcional, valor predeterminado True) — Si se debe usar una imagen cuadrada por defecto al redimensionar, si size es un int.
  • crop_size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs, por defecto {'height' -- 224, 'width': 224}): Tamaño de la imagen de salida tras aplicar center_crop.
  • resample (Annotated[Union[int, PILImageResampling, NoneType], None], kwargs, por defecto 3) — Filtro de remuestreo a utilizar si se redimensiona la imagen. Puede ser uno de los valores de la enumeración PILImageResampling. Solo tiene efecto si do_resize está establecido en True.
  • do_rescale (bool, kwargs, opcional, valor predeterminado True) — Si se debe reescalar la imagen.
  • rescale_factor (float, kwargs, opcional, valor predeterminado 0.00392156862745098) — Factor de reescalado para reescalar la imagen si do_rescale está establecido en True.
  • do_normalize (bool, kwargs, opcional, valor predeterminado True) — Si se debe normalizar la imagen.
  • image_mean (Union[float, list[float], tuple[float, ...]], kwargs, opcional, valor predeterminado [0.48145466, 0.4578275, 0.40821073]) — Media de la imagen a utilizar para la normalización. Solo tiene efecto si do_normalize está establecido en True.
  • image_std (Union[float, list[float], tuple[float, ...]], kwargs, opcional, valor predeterminado [0.26862954, 0.26130258, 0.27577711]) — Desviación estándar de la imagen a utilizar para la normalización. Solo tiene efecto si do_normalize está establecido en True.
  • do_pad (bool, kwargs, opcional) — Indica si se debe aplicar relleno a la imagen. El relleno se realiza hasta el tamaño más grande del lote o hasta un tamaño cuadrado fijo por imagen. La estrategia exacta de relleno depende del modelo.
  • pad_size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — El tamaño en {"height": int, "width" int} al que se rellenan las imágenes. Debe ser mayor que cualquier tamaño de imagen proporcionado para el preprocesamiento. Si no se proporciona pad_size, las imágenes se rellenarán hasta la mayor altura y anchura del lote. Se aplica solo cuando do_pad=True.
  • do_center_crop (bool, kwargs, opcional, valor predeterminado True) — Si se debe recortar la imagen centrada.
  • data_format (Union[str, ~image_utils.ChannelDimension], kwargs, opcional) — Solo se admite ChannelDimension.FIRST. Se añadió para garantizar la compatibilidad con los procesadores lentos.
  • input_data_format (Union[str, ~image_utils.ChannelDimension], kwargs, opcional) — El formato de la dimensión de canales para la imagen de entrada. Si no se establece, el formato de la dimensión de canales se infiere a partir de la imagen de entrada. Puede ser uno de:
    • "channels_first" o ChannelDimension.FIRST: imagen en formato (num_channels, height, width).
    • "channels_last" o ChannelDimension.LAST: imagen en formato (altura, ancho, num_canales).
    • "none" o ChannelDimension.NONE: imagen en formato (altura, ancho).
  • device (Annotated[Union[str, torch.device, NoneType], None], kwargs) — El dispositivo en el que se procesarán los videos. Si no se establece, el dispositivo se infiere a partir de los videos de entrada.
  • return_tensors (Annotated[str | ~utils.generic.TensorType | None, None], kwargs) — Devuelve tensores apilados si se establece en 'pt'; en caso contrario, devuelve una lista de tensores.
  • disable_grouping (bool, kwargs, opcional) — Si se debe deshabilitar el agrupamiento de imágenes por tamaño para procesarlas de forma individual y no en lotes. Si es None, se establecerá en True si las imágenes están en CPU, y en False en caso contrario. Esta elección se basa en observaciones empíricas, como se detalla aquí: https://github.com/huggingface/transformers/pull/38157
  • image_seq_length (int, kwargs, opcional) — El número de tokens de imagen que se utilizarán para cada imagen en la entrada. Añadido por compatibilidad con versiones anteriores, pero en futuros modelos debería establecerse como un atributo del procesador.
  • return_image_mask (bool, kwargs, opcional, valor predeterminado False) — Si se debe devolver la máscara de imagen. Puede ser sobrescrito por el parámetro return_image_mask en preprocess.
  • input_size_patches (int, kwargs, opcional, valor predeterminado 14) — Número de parches en la imagen en las direcciones de altura y ancho. 14x14 = 196 parches en total. Se puede sobrescribir mediante el parámetro input_size_patches en preprocess.
  • total_mask_patches (int, kwargs, opcional, valor predeterminado 75) — Número total de parches que deben enmascararse. Puede sobrescribirse mediante el parámetro total_mask_patches en preprocess.
  • mask_group_min_patches (int, kwargs, opcional, valor predeterminado 16) — Número mínimo de parches que deben enmascararse. Puede sobrescribirse mediante el parámetro mask_group_min_patches en preprocess.
  • mask_group_max_patches (int, kwargs, opcional) — Número máximo de parches que deben enmascararse. Puede sobrescribirse mediante el parámetro mask_group_max_patches en preprocess.
  • mask_group_min_aspect_ratio (float, kwargs, opcional, valor predeterminado 0.3) — Relación de aspecto mínima de la ventana de la máscara. Puede ser sobrescrita por el parámetro mask_group_min_aspect_ratio en preprocess.
  • mask_group_max_aspect_ratio (float, kwargs, opcional) — Relación de aspecto máxima de la ventana de la máscara. Puede ser sobrescrita por el parámetro mask_group_max_aspect_ratio en preprocess.
  • return_codebook_pixels (bool, kwargs, opcional, valor predeterminado False) — Si se deben devolver los valores de píxeles del codebook.
  • codebook_do_resize (bool, kwargs, opcional, valor predeterminado True) — Si se debe redimensionar la entrada para el codebook a un tamaño determinado. Puede ser anulado por el parámetro codebook_do_resize en preprocess. codebook_size.
  • codebook_size (dict[str, *kwargs*, int], opcional, valor predeterminado {"height" -- 224, "width": 224}): Redimensiona la entrada para el codebook al tamaño indicado. Puede ser sobrescrito por el parámetro codebook_size en preprocess.
  • codebook_resample (PILImageResampling, kwargs, opcional, valor predeterminado PILImageResampling.LANCZOS) — Filtro de remuestreo a utilizar si se redimensiona la imagen del codebook. Con torchvision < 0.27, LANCZOS no es compatible con Tensors de torch y se utiliza BICUBIC como alternativa más cercana. Puede sobrescribirse mediante el parámetro codebook_resample en preprocess.
  • codebook_do_center_crop (bool, kwargs, opcional, valor predeterminado True) — Indica si se debe recortar la entrada para el codebook en el centro. Si el tamaño de la entrada es menor que codebook_crop_size en cualquier borde, la imagen se rellena con 0 y luego se recorta en el centro. Puede ser anulado por el parámetro codebook_do_center_crop en preprocess.
  • codebook_crop_size (dict[str, *kwargs*, int], opcional, valor predeterminado {"height" -- 224, "width": 224}): Tamaño de salida deseado para la entrada del codebook al aplicar recorte centrado. Puede ser sobrescrito por el parámetro codebook_crop_size en preprocess.
  • codebook_do_rescale (bool, kwargs, opcional, valor predeterminado True) — Si se debe reescalar la entrada para el codebook mediante el factor de escala especificado codebook_rescale_factor. Puede ser anulado por el parámetro codebook_do_rescale en preprocess.
  • codebook_rescale_factor (int, kwargs o float, opcional, valor predeterminado 1/255) — Define el factor de escala a utilizar si se reescala la imagen del codebook. Puede ser anulado por el parámetro codebook_rescale_factor en preprocess.
  • codebook_do_map_pixels (bool, kwargs, opcional, valor predeterminado True) — Si se deben mapear los valores de píxeles de la entrada del codebook a (1 - 2e)x + e. Se puede sobrescribir mediante el parámetro codebook_do_map_pixels en preprocess.
  • codebook_do_normalize (bool, kwargs, opcional, valor predeterminado True) — Indica si se debe normalizar la entrada para el codebook con codebook_image_mean y codebook_image_std. Puede ser anulado por el parámetro codebook_do_normalize en preprocess.
  • codebook_image_mean (Optional[Union[float, *kwargs*, Iterable[float]]], opcional, valor predeterminado [0, 0, 0]) — La secuencia de medias para cada canal, que se utilizará al normalizar las imágenes para el codebook. Puede ser sobrescrita por el parámetro codebook_image_mean en preprocess.
  • codebook_image_std (Optional[Union[float, *kwargs*, Iterable[float]]], opcional, valor predeterminado [0.5, 0.5, 0.5]) — La secuencia de desviaciones estándar para cada canal, que se utilizará al normalizar las imágenes para el codebook. Puede ser sobrescrita por el parámetro codebook_image_std en preprocess.

Construye un procesador de imágenes FlavaImageProcessor.

preprocesar

< >

( 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]]) — Imagen a preprocesar. Espera una imagen única o un lote de imágenes con valores de píxeles que van de 0 a 255. Si se pasan imágenes con valores de píxeles entre 0 y 1, establezca do_rescale=False.
  • do_convert_rgb (bool, kwargs, opcional) — Si se debe convertir la imagen a RGB.
  • do_resize (bool, kwargs, opcional) — Si se debe redimensionar la imagen.
  • size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — Describe las dimensiones de entrada máximas del modelo.
  • default_to_square (bool, kwargs, opcional) — Si se debe usar una imagen cuadrada por defecto al redimensionar, si size es un int.
  • crop_size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — Tamaño de la imagen de salida tras aplicar center_crop.
  • resample (Annotated[Union[int, PILImageResampling, NoneType], None], kwargs) — Filtro de remuestreo a utilizar si se redimensiona la imagen. Puede ser uno de los enum PILImageResampling. Solo tiene efecto si do_resize está establecido en True.
  • do_rescale (bool, kwargs, opcional) — Si se debe reescalar la imagen.
  • rescale_factor (float, kwargs, opcional) — Factor de reescalado para reescalar la imagen si do_rescale está establecido en True.
  • do_normalize (bool, kwargs, opcional) — Si se debe normalizar la imagen.
  • image_mean (Union[float, list[float], tuple[float, ...]], kwargs, opcional) — Media de la imagen a utilizar para la normalización. Solo tiene efecto si do_normalize está establecido en True.
  • image_std (Union[float, list[float], tuple[float, ...]], kwargs, opcional) — Desviación estándar de la imagen a utilizar para la normalización. Solo tiene efecto si do_normalize está establecido en True.
  • do_pad (bool, kwargs, opcional) — Indica si se debe aplicar relleno a la imagen. El relleno se realiza hasta el tamaño más grande del lote o hasta un tamaño cuadrado fijo por imagen. La estrategia exacta de relleno depende del modelo.
  • pad_size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — El tamaño en {"height": int, "width" int} al que se rellenan las imágenes. Debe ser mayor que cualquier tamaño de imagen proporcionado para el preprocesamiento. Si no se proporciona pad_size, las imágenes se rellenarán hasta la mayor altura y anchura del lote. Se aplica solo cuando do_pad=True.
  • do_center_crop (bool, kwargs, opcional) — Si se debe recortar la imagen centrada.
  • data_format (Union[str, ~image_utils.ChannelDimension], kwargs, opcional) — Solo se admite ChannelDimension.FIRST. Se añadió para garantizar la compatibilidad con los procesadores lentos.
  • input_data_format (Union[str, ~image_utils.ChannelDimension], kwargs, opcional) — El formato de la dimensión de canales para la imagen de entrada. Si no se establece, el formato de la dimensión de canales se infiere a partir de la imagen de entrada. Puede ser uno de:
    • "channels_first" o ChannelDimension.FIRST: imagen en formato (num_channels, height, width).
    • "channels_last" o ChannelDimension.LAST: imagen en formato (altura, ancho, num_canales).
    • "none" o ChannelDimension.NONE: imagen en formato (altura, ancho).
  • device (Annotated[Union[str, torch.device, NoneType], None], kwargs) — El dispositivo en el que se procesarán los videos. Si no se establece, el dispositivo se infiere a partir de los videos de entrada.
  • return_tensors (Annotated[str | ~utils.generic.TensorType | None, None], kwargs) — Devuelve tensores apilados si se establece en 'pt'; en caso contrario, devuelve una lista de tensores.
  • disable_grouping (bool, kwargs, opcional) — Si se debe deshabilitar el agrupamiento de imágenes por tamaño para procesarlas de forma individual y no en lotes. Si es None, se establecerá en True si las imágenes están en CPU, y en False en caso contrario. Esta elección se basa en observaciones empíricas, como se detalla aquí: https://github.com/huggingface/transformers/pull/38157
  • image_seq_length (int, kwargs, opcional) — El número de tokens de imagen que se utilizarán para cada imagen en la entrada. Añadido por compatibilidad con versiones anteriores, pero en futuros modelos debería establecerse como un atributo del procesador.
  • return_image_mask (bool, kwargs, opcional, valor predeterminado False) — Si se debe devolver la máscara de imagen. Puede ser sobrescrito por el parámetro return_image_mask en preprocess.
  • input_size_patches (int, kwargs, opcional, valor predeterminado 14) — Número de parches en la imagen en las direcciones de altura y ancho. 14x14 = 196 parches en total. Se puede sobrescribir mediante el parámetro input_size_patches en preprocess.
  • total_mask_patches (int, kwargs, opcional, valor predeterminado 75) — Número total de parches que deben enmascararse. Puede sobrescribirse mediante el parámetro total_mask_patches en preprocess.
  • mask_group_min_patches (int, kwargs, opcional, valor predeterminado 16) — Número mínimo de parches que deben enmascararse. Puede sobrescribirse mediante el parámetro mask_group_min_patches en preprocess.
  • mask_group_max_patches (int, kwargs, opcional) — Número máximo de parches que deben enmascararse. Puede sobrescribirse mediante el parámetro mask_group_max_patches en preprocess.
  • mask_group_min_aspect_ratio (float, kwargs, opcional, valor predeterminado 0.3) — Relación de aspecto mínima de la ventana de la máscara. Puede ser sobrescrita por el parámetro mask_group_min_aspect_ratio en preprocess.
  • mask_group_max_aspect_ratio (float, kwargs, opcional) — Relación de aspecto máxima de la ventana de la máscara. Puede ser sobrescrita por el parámetro mask_group_max_aspect_ratio en preprocess.
  • return_codebook_pixels (bool, kwargs, opcional, valor predeterminado False) — Si se deben devolver los valores de píxeles del codebook.
  • codebook_do_resize (bool, kwargs, opcional, valor predeterminado True) — Si se debe redimensionar la entrada para el codebook a un tamaño determinado. Puede ser anulado por el parámetro codebook_do_resize en preprocess. codebook_size.
  • codebook_size (dict[str, *kwargs*, int], opcional, valor predeterminado {"height" -- 224, "width": 224}): Redimensiona la entrada para el codebook al tamaño indicado. Puede ser sobrescrito por el parámetro codebook_size en preprocess.
  • codebook_resample (PILImageResampling, kwargs, opcional, valor predeterminado PILImageResampling.LANCZOS) — Filtro de remuestreo a utilizar si se redimensiona la imagen del codebook. Con torchvision < 0.27, LANCZOS no es compatible con Tensors de torch y se utiliza BICUBIC como alternativa más cercana. Puede sobrescribirse mediante el parámetro codebook_resample en preprocess.
  • codebook_do_center_crop (bool, kwargs, opcional, valor predeterminado True) — Indica si se debe recortar la entrada para el codebook en el centro. Si el tamaño de la entrada es menor que codebook_crop_size en cualquier borde, la imagen se rellena con 0 y luego se recorta en el centro. Puede ser anulado por el parámetro codebook_do_center_crop en preprocess.
  • codebook_crop_size (dict[str, *kwargs*, int], opcional, valor predeterminado {"height" -- 224, "width": 224}): Tamaño de salida deseado para la entrada del codebook al aplicar recorte centrado. Puede ser sobrescrito por el parámetro codebook_crop_size en preprocess.
  • codebook_do_rescale (bool, kwargs, opcional, valor predeterminado True) — Si se debe reescalar la entrada para el codebook mediante el factor de escala especificado codebook_rescale_factor. Puede ser anulado por el parámetro codebook_do_rescale en preprocess.
  • codebook_rescale_factor (int, kwargs o float, opcional, valor predeterminado 1/255) — Define el factor de escala a utilizar si se reescala la imagen del codebook. Puede ser anulado por el parámetro codebook_rescale_factor en preprocess.
  • codebook_do_map_pixels (bool, kwargs, opcional, valor predeterminado True) — Si se deben mapear los valores de píxeles de la entrada del codebook a (1 - 2e)x + e. Se puede sobrescribir mediante el parámetro codebook_do_map_pixels en preprocess.
  • codebook_do_normalize (bool, kwargs, opcional, valor predeterminado True) — Indica si se debe normalizar la entrada para el codebook con codebook_image_mean y codebook_image_std. Puede ser anulado por el parámetro codebook_do_normalize en preprocess.
  • codebook_image_mean (Optional[Union[float, *kwargs*, Iterable[float]]], opcional, valor predeterminado [0, 0, 0]) — La secuencia de medias para cada canal, que se utilizará al normalizar las imágenes para el codebook. Puede ser sobrescrita por el parámetro codebook_image_mean en preprocess.
  • codebook_image_std (Optional[Union[float, *kwargs*, Iterable[float]]], opcional, valor predeterminado [0.5, 0.5, 0.5]) — La secuencia de desviaciones estándar para cada canal, que se utilizará al normalizar las imágenes para el codebook. Puede ser sobrescrita por el parámetro codebook_image_std en preprocess.

Devuelve

~image_processing_base.BatchFeature

  • data (dict) — Diccionario de listas/arrays/tensores devueltos por el método call (‘pixel_values’, etc.).
  • tensor_type (Union[None, str, TensorType], opcional) — Puede especificar un tensor_type aquí para convertir las listas de enteros en Tensors de PyTorch/Numpy durante la inicialización.

FlavaForPreTraining

clase transformers.FlavaForPreTraining

< >

( config: FlavaConfigimage_codebook: typing.Optional[torch.nn.Module] = None )

Parámetros

  • config (FlavaConfig) — Clase de configuración del modelo con todos los parámetros del modelo. Inicializar con un archivo de configuración no carga los pesos asociados con el modelo, solo la configuración. Consulte el método from_pretrained() para cargar los pesos del modelo.
  • image_codebook (torch.nn.Module, opcional) — Si se pasa, el image codebook se establecerá en este. De lo contrario, se inicializará utilizando el image_codebook_config definido en la config como primer parámetro.

El modelo FLAVA para el preentrenamiento que genera pérdidas, embeddings, logits y salidas del transformer.

Este modelo hereda de PreTrainedModel. Consulta la documentación de la clase superior para los métodos genéricos que la biblioteca implementa para todos sus modelos (como la descarga o el guardado, el redimensionamiento de las incrustaciones de entrada, la poda de cabezas, etc.).

Este modelo también es una subclase de torch.nn.Module de PyTorch. Úsalo como un módulo de PyTorch regular y consulta la documentación de PyTorch para todo lo relacionado con el uso y el comportamiento generales.

forward

< >

( 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.LongTensor de forma (batch_size, text_seq_len)) — Índices de los tokens de la secuencia de entrada en el vocabulario. Los índices se pueden obtener usando AutoTokenizer. Consulte PreTrainedTokenizer.encode() y PreTrainedTokenizer.call() para más detalles. ¿Qué son los IDs de entrada?
  • input_ids_masked (torch.LongTensor de forma (batch_size, text_seq_len)) — Índices de los tokens de la secuencia de entrada en el vocabulario. Estos son la versión enmascarada de la tarea original que se debe usar con MLM. Los índices se pueden obtener usando AutoTokenizer junto con DataCollatorForMaskedLanguageModeling. Consulte PreTrainedTokenizer.encode() y PreTrainedTokenizer.call() para más detalles. ¿Qué son los input IDs?
  • pixel_values (torch.Tensor de forma (batch_size, num_channels, image_size, image_size), opcional) — Los tensores correspondientes a las imágenes de entrada. Los valores de píxeles se pueden obtener utilizando FlavaImageProcessor. Consulte FlavaImageProcessor.call() para más detalles (FlavaProcessor utiliza FlavaImageProcessor para procesar las imágenes).
  • codebook_pixel_values (torch.Tensor de forma (batch_size, num_image_patches, patch_size, patch_size, 3), opcional) — Valores de píxel para los parches de imagen que se utilizan para calcular las etiquetas del codebook de imagen para el modelado de imágenes enmascaradas.
  • attention_mask (torch.Tensor de forma (batch_size, sequence_length), opcional) — Máscara para evitar realizar atención en los índices de tokens de relleno. Valores de máscara seleccionados en [0, 1]:
    • 1 para los tokens que no están enmascarados,
    • 0 para los tokens que están enmascarados.

    ¿Qué son las máscaras de atención?

  • token_type_ids (torch.LongTensor de forma (batch_size, text_seq_len), opcional) — Índices de tokens de segmento para indicar las primeras y segundas partes de las entradas. Los índices se seleccionan en [0, 1]:
  • bool_masked_pos (torch.BoolTensor de forma (batch_size, image_num_patches)) — Posiciones enmascaradas booleanas. Indica qué parches están enmascarados (1) y cuáles no (0).
  • position_ids (torch.LongTensor de forma (batch_size, sequence_length), opcional) — Índices de las posiciones de los tokens de cada secuencia de entrada en los embeddings de posición. Seleccionados en el rango [0, config.n_positions - 1].

    ¿Qué son los IDs de posición?

  • image_attention_mask (torch.Tensor de forma (batch_size, image_num_patches), opcional) — Máscara para evitar realizar atención en los índices de tokens de relleno, específicamente para imágenes. Valores de la máscara seleccionados en [0, 1]:
  • skip_unmasked_multimodal_encoder (*bool*, opcional) — Omite cualquier cálculo del codificador multimodal para entradas sin enmascarar. La preentrenación de FLAVA no necesita, por ahora, incrustaciones ni salidas multimodales sin enmascarar.
  • mlm_labels (torch.LongTensor de forma (batch_size, text_seq_len), opcional) — Etiquetas para calcular la pérdida de modelado de lenguaje y multimodal enmascarado de izquierda a derecha (predicción de la siguiente palabra). Los índices deben estar en [-100, 0, ..., text_config.vocab_size - 1] (ver la docstring de input_ids). Los tokens con índices establecidos en -100 se ignoran (se enmascaran); la pérdida solo se calcula para los tokens con etiquetas en [0, ..., text_config.vocab_size - 1].
  • mim_labels (torch.LongTensor de forma (batch_size, image_num_patches), opcional) — Etiquetas para calcular la pérdida de modelado enmascarado de imagen y multimodal. Los índices deben estar en [-100, 0, ..., image_config.vocab_size - 1]. Los tokens con índices establecidos en -100 se ignoran (se enmascaran); la pérdida solo se calcula para los tokens con etiquetas en [0, ..., image_config.vocab_size - 1]. Si no se pasan, se generan automáticamente utilizando el libro de códigos de imagen asignado al modelo. De forma predeterminada, utiliza FlavaImageCodebook. Consulte FlavaImageCodebook para entender cómo generar mim_labels.
  • itm_labels (torch.LongTensor de forma (batch_size, 1), opcional) — Etiquetas para calcular la pérdida de correspondencia imagen-texto. 0 significa que las parejas no coinciden y 1 significa que sí coinciden. Las parejas con 0 también se omitirán en el cálculo de las pérdidas MMM y de contraste global.
  • output_attentions (bool, opcional) — Indica si se deben devolver los tensores de atención de todas las capas de atención. Consulte attentions en los tensores devueltos para obtener más detalles.
  • output_hidden_states (bool, opcional, valor predeterminado True) — Indica si se deben devolver los estados ocultos de todas las capas. Consulte hidden_states en los tensores devueltos para obtener más detalles.
  • return_dict (bool, opcional) — Indica si se debe devolver un ModelOutput en lugar de una tupla simple.
  • return_loss (bool, opcional, predeterminado a None) — Si se debe o no devolver la pérdida calculada.

Devuelve

FlavaForPreTrainingOutput o tuple(torch.Tensor)

Un FlavaForPreTrainingOutput o una tupla de torch.Tensor (si se pasa return_dict=False o cuando config.return_dict=False) que comprende varios elementos según la configuración (FlavaConfig) y las entradas.

El método forward de FlavaForPreTraining sobrescribe el método especial __call__.

Aunque la receta para la pasada hacia adelante debe definirse dentro de esta función, se debe llamar a la instancia de Module después en lugar de a esta, ya que la primera se encarga de ejecutar los pasos de pre y postprocesamiento, mientras que la segunda los ignora silenciosamente.

  • loss (torch.Tensor, opcional, se devuelve cuando return_loss es True) — Pérdida total calculada para este modelo.
  • loss_info (~models.flava.modeling_flava.FlavaLosses, opcional) — Información detallada sobre las pérdidas de preentrenamiento de FLAVA. Consulta la descripción de la clase FlavaLosses para obtener información sobre las claves.
  • image_embeddings (torch.Tensor de forma (batch_size, output_dim), opcional, se devuelve cuando están presentes pixel_values) — Las incrustaciones de imagen, que son básicamente la salida agrupada de FlavaImageModel.
  • image_output (BaseModelOutputWithPooling, opcional, se devuelve cuando están presentes pixel_values) — La salida del FlavaImageModel.
  • text_embeddings (torch.Tensor de forma (batch_size, output_dim), opcional, se devuelve cuando están presentes input_ids) — Las incrustaciones de texto, que son básicamente la salida agrupada de FlavaTextModel.
  • text_output (BaseModelOutputWithPooling, opcional, se devuelve cuando están presentes input_ids) — La salida del FlavaTextModel.
  • multimodal_embeddings (torch.Tensor de forma (batch_size, output_dim), opcional, se devuelve cuando input_ids y pixel_values están presentes y skip_unmasked_multimodal_encoder es None o False) — Las incrustaciones multimodales, que son básicamente la salida agrupada de FlavaTextModel.
  • multimodal_output (BaseModelOutputWithPooling, devuelto cuando input_ids y pixel_values están presentes y skip_unmasked_multimodal_encoder es None o False) — La salida del FlavaMultimodalModel.
  • image_masked_embeddings (torch.Tensor de forma (batch_size, output_dim), opcional, se devuelve cuando están presentes pixel_values) — Las incrustaciones de imagen, que son básicamente la salida agrupada de FlavaImageModel. Utiliza bool_masked_pos para crear imágenes enmascaradas.
  • image_masked_output (BaseModelOutputWithPooling, opcional, se devuelve cuando están presentes pixel_values) — La salida del FlavaImageModel. Utiliza bool_masked_pos para crear imágenes enmascaradas.
  • text_masked_embeddings (torch.Tensor de forma (batch_size, output_dim), opcional, se devuelve cuando están presentes input_ids_masked) — Las incrustaciones de texto, que son básicamente la salida agrupada de FlavaTextModel.
  • text_masked_output (BaseModelOutputWithPooling, opcional, se devuelve cuando están presentes input_ids_masked) — La salida del FlavaTextModel.
  • multimodal_masked_embeddings (torch.Tensor de forma (batch_size, output_dim), opcional, se devuelve cuando están presentes input_ids y pixel_values) — Las incrustaciones multimodales, que son básicamente la salida agrupada de FlavaTextModel.
  • multimodal_masked_output (BaseModelOutputWithPooling, opcional, se devuelve cuando están presentes input_ids_masked y pixel_values) — La salida del FlavaMultimodalModel.
  • mim_logits (torch.Tensor de forma (batch_size, num_image_patches, image_vocab_size) o de forma (total_masked_patches, image_vocab_size) , opcional, se devuelve cuando están presentes pixel_values y no están presentes input_ids_masked) — Los logits para la pérdida unimodal de MIM. Utiliza bool_masked_pos para obtener los parches enmascarados. La salida aplanada se devuelve cuando bool_masked_pos tiene algunos de los parches enmascarados.
  • mlm_logits (torch.Tensor de forma (batch_size, text_seq_length, text_vocab_size) o de forma (total_masked_seq_length, text_vocab_size), opcional, se devuelve cuando están presentes input_ids_masked y no pixel_values) — Los logits para la pérdida unimodal de MLM. Se devuelve la salida aplanada cuando input_ids_masked tiene algunos de los tokens enmascarados.
  • itm_logits (torch.Tensor de forma (batch_size, 2), opcional, devuelto cuando están presentes input_ids_masked y pixel_values) — Los logits para la pérdida ITM. Tenga en cuenta que la pérdida ITM se calcula sobre pares enmascarados en FLAVA.
  • contrastive_logits_per_image (torch.Tensor de forma (image_batch_size, text_batch_size)) — Las puntuaciones de producto punto escalado entre image_embeddings y text_embeddings, pero pasadas por las capas image_projection y text_projection de FLAVA, respectivamente. Esto representa las puntuaciones de similitud imagen-texto. Se calcula en imágenes y textos sin enmascarar.
  • contrastive_logits_per_text (torch.Tensor de forma (text_batch_size, image_batch_size)) — Las puntuaciones de producto punto escalado entre text_embeddings y image_embeddings, pero pasadas por las capas text_projection y image_projection de FLAVA, respectivamente. Esto se calcula en imágenes y textos sin enmascarar.
  • mmm_image_logits (torch.Tensor de forma (batch_size, num_image_patches, image_vocab_size) o de forma (total_masked_patches, image_vocab_size), opcional, se devuelve cuando están presentes pixel_values y input_ids_masked) — Los logits para la pérdida multimodal de imagen MMM. Utiliza bool_masked_pos para obtener los parches enmascarados. La salida aplanada se devuelve cuando bool_masked_pos tiene algunos de los parches enmascarados.
  • mmm_text_logits (torch.Tensor de forma (batch_size, text_seq_length, text_vocab_size) o de forma (total_masked_seq_length, text_vocab_size), opcional, se devuelve cuando están presentes pixel_values y input_ids_masked) — Los logits para la pérdida multimodal de texto de MMM. Se devuelve la salida aplanada cuando input_ids_masked tiene algunos de los tokens enmascarados.

Ejemplos:

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

clase transformers.FlavaModel

< >

( config: FlavaConfig )

Parámetros

  • config (FlavaConfig) — Clase de configuración del modelo con todos los parámetros del modelo. Inicializar con un archivo de configuración no carga los pesos asociados con el modelo, solo la configuración. Consulte el método from_pretrained() para cargar los pesos del modelo.

El modelo Flava básico que genera estados ocultos sin ninguna cabeza específica en la parte superior.

Este modelo hereda de PreTrainedModel. Consulta la documentación de la clase superior para los métodos genéricos que la biblioteca implementa para todos sus modelos (como la descarga o el guardado, el redimensionamiento de las incrustaciones de entrada, la poda de cabezas, etc.).

Este modelo también es una subclase de torch.nn.Module de PyTorch. Úsalo como un módulo de PyTorch regular y consulta la documentación de PyTorch para todo lo relacionado con el uso y el comportamiento generales.

forward

< >

( 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.LongTensor de forma (batch_size, image_num_patches + text_seq_len)) — Índices de los tokens de la secuencia de entrada en el vocabulario. Los índices se pueden obtener usando AutoTokenizer. Consulte PreTrainedTokenizer.encode() y PreTrainedTokenizer.call() para más detalles. ¿Qué son los IDs de entrada?
  • pixel_values (torch.Tensor de forma (batch_size, num_channels, image_size, image_size), opcional) — Los tensores correspondientes a las imágenes de entrada. Los valores de píxeles se pueden obtener utilizando FlavaImageProcessor. Consulte FlavaImageProcessor.call() para más detalles (FlavaProcessor utiliza FlavaImageProcessor para procesar las imágenes).
  • attention_mask (torch.Tensor de forma (batch_size, sequence_length), opcional) — Máscara para evitar realizar atención en los índices de tokens de relleno. Valores de máscara seleccionados en [0, 1]:
    • 1 para los tokens que no están enmascarados,
    • 0 para los tokens que están enmascarados.

    ¿Qué son las máscaras de atención?

  • token_type_ids (torch.LongTensor de forma (batch_size, image_num_patches + text_seq_len), opcional) — Índices de tokens de segmento para indicar las primeras y segundas porciones de las entradas. Los índices se seleccionan en [0, 1]:
  • bool_masked_pos (torch.BoolTensor de forma (batch_size, image_num_patches)) — Posiciones enmascaradas booleanas. Indica qué parches están enmascarados (1) y cuáles no (0).
  • position_ids (torch.LongTensor de forma (batch_size, sequence_length), opcional) — Índices de las posiciones de los tokens de cada secuencia de entrada en los embeddings de posición. Seleccionados en el rango [0, config.n_positions - 1].

    ¿Qué son los IDs de posición?

  • image_attention_mask (torch.Tensor de forma (batch_size, image_num_patches), opcional) — Máscara para evitar realizar atención sobre los valores de píxeles de relleno en las entradas de imagen. Valores de la máscara seleccionados en [0, 1]:
    • 1 para los valores de píxel que son reales (es decir, no enmascarados),
    • 0 para los valores de píxeles que son relleno (es decir, mascarados).
  • skip_multimodal_encoder (*bool*, opcional) — Omite cualquier cálculo para el codificador multimodal. Útil si no se va a utilizar la codificación multimodal.
  • output_attentions (bool, opcional) — Indica si se deben devolver los tensores de atención de todas las capas de atención. Consulte attentions en los tensores devueltos para obtener más detalles.
  • output_hidden_states (bool, opcional, valor predeterminado True) — Indica si se deben devolver los estados ocultos de todas las capas. Consulte hidden_states en los tensores devueltos para obtener más detalles.
  • return_dict (bool, opcional) — Indica si se debe devolver un ModelOutput en lugar de una tupla simple.

Devuelve

FlavaModelOutput o tuple(torch.Tensor)

Un FlavaModelOutput o una tupla de torch.Tensor (si se pasa return_dict=False o cuando config.return_dict=False) que comprende varios elementos según la configuración (FlavaConfig) y las entradas.

El método forward de FlavaModel sobrescribe el método especial __call__.

Aunque la receta para la pasada hacia adelante debe definirse dentro de esta función, se debe llamar a la instancia de Module después en lugar de a esta, ya que la primera se encarga de ejecutar los pasos de pre y postprocesamiento, mientras que la segunda los ignora silenciosamente.

  • image_embeddings (torch.Tensor de forma (batch_size, output_dim), opcional, se devuelve cuando están presentes pixel_values) — Las incrustaciones de imagen, que son básicamente la salida agrupada de FlavaImageModel.
  • image_output (BaseModelOutputWithPooling, opcional, se devuelve cuando están presentes pixel_values) — La salida del FlavaImageModel.
  • text_embeddings (torch.Tensor de forma (batch_size, output_dim), opcional, se devuelve cuando están presentes input_ids) — Las incrustaciones de texto, que son básicamente la salida agrupada de FlavaTextModel.
  • text_output (BaseModelOutputWithPooling, opcional, se devuelve cuando están presentes input_ids) — La salida del FlavaTextModel.
  • multimodal_embeddings (torch.Tensor de forma (batch_size, output_dim), opcional, se devuelve cuando input_ids y pixel_values están presentes y skip_multimodal_encoder es None o False) — Las incrustaciones multimodales, que son básicamente la salida agrupada de FlavaTextModel.
  • multimodal_output (BaseModelOutputWithPooling, devuelto cuando input_ids y pixel_values están presentes y skip_multimodal_encoder es None o False) — La salida del FlavaMultimodalModel.

Ejemplos:

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

< >

( 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.LongTensor de forma (batch_size, text_seq_length)) — Índices de los tokens de la secuencia de entrada en el vocabulario. Los índices se pueden obtener usando AutoTokenizer. Consulte PreTrainedTokenizer.encode() y PreTrainedTokenizer.call() para más detalles. ¿Qué son los IDs de entrada?
  • attention_mask (torch.Tensor de forma (batch_size, sequence_length), opcional) — Máscara para evitar realizar atención en los índices de tokens de relleno. Valores de máscara seleccionados en [0, 1]:
    • 1 para los tokens que no están enmascarados,
    • 0 para los tokens que están enmascarados.

    ¿Qué son las máscaras de atención?

  • token_type_ids (torch.LongTensor de forma (batch_size, text_seq_length), opcional) — Índices de tokens de segmento para indicar las primeras y segundas partes de las entradas. Los índices se seleccionan en [0, 1]:
  • position_ids (torch.Tensor de forma (batch_size, sequence_length), opcional) — Índices de las posiciones de los tokens de cada secuencia de entrada en los embeddings de posición. Seleccionados en el rango [0, config.n_positions - 1].

    ¿Qué son los IDs de posición?

Devuelve

BaseModelOutputWithPooling o tuple(torch.Tensor)

Un BaseModelOutputWithPooling o una tupla de torch.Tensor (si se pasa return_dict=False o cuando config.return_dict=False) que comprende varios elementos según la configuración (FlavaConfig) y las entradas.

  • last_hidden_state (torch.Tensor de forma (batch_size, sequence_length, hidden_size)) — Secuencia de estados ocultos en la salida de la última capa del modelo.

  • pooler_output (torch.Tensor de forma (batch_size, hidden_size)) — Estado oculto de la última capa del primer token de la secuencia (token de clasificación) después de un procesamiento adicional a través de las capas utilizadas para la tarea de preentrenamiento auxiliar. Por ejemplo, para la familia de modelos BERT, esto devuelve el token de clasificación después de procesarlo a través de una capa lineal y una función de activación tanh. Los pesos de la capa lineal se entrenan a partir del objetivo de predicción de la siguiente oración (clasificación) durante el preentrenamiento.

  • hidden_states (tuple(torch.Tensor), opcional, devuelto cuando se pasa output_hidden_states=True o cuando config.output_hidden_states=True) — Tupla de torch.Tensor (una para la salida de las incrustaciones, si el modelo tiene una capa de incrustaciones, + una para la salida de cada capa) de forma (batch_size, sequence_length, hidden_size).

    Estados ocultos del modelo en la salida de cada capa más las salidas opcionales de la incrustación inicial.

  • attentions (tuple(torch.Tensor), opcional, se devuelve cuando se pasa output_attentions=True o cuando config.output_attentions=True) — Tupla de torch.Tensor (una por cada capa) de forma (batch_size, num_heads, sequence_length, sequence_length).

    Pesos de atención tras el softmax de atención, utilizados para calcular la media ponderada en las cabezas de autoatención.

Ejemplos:

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

< >

( 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.Tensor de forma (batch_size, num_channels, image_size, image_size)) — Los tensores correspondientes a las imágenes de entrada. Los valores de píxeles se pueden obtener utilizando FlavaImageProcessor. Consulte FlavaImageProcessor.call() para más detalles (FlavaProcessor utiliza FlavaImageProcessor para procesar las imágenes).
  • bool_masked_pos (torch.BoolTensor de forma (batch_size, image_num_patches)) — Posiciones enmascaradas booleanas. Indica qué parches están enmascarados (1) y cuáles no (0).
  • interpolate_pos_encoding (bool, opcional) — Si se debe interpolar las codificaciones de posición preentrenadas.
  • attention_mask (torch.Tensor de forma (batch_size, sequence_length), opcional) — Máscara para evitar realizar atención en los índices de tokens de relleno. Valores de máscara seleccionados en [0, 1]:
    • 1 para los tokens que no están enmascarados,
    • 0 para los tokens que están enmascarados.

    ¿Qué son las máscaras de atención?

Devuelve

BaseModelOutputWithPooling o tuple(torch.Tensor)

Un BaseModelOutputWithPooling o una tupla de torch.Tensor (si se pasa return_dict=False o cuando config.return_dict=False) que comprende varios elementos según la configuración (FlavaConfig) y las entradas.

  • last_hidden_state (torch.Tensor de forma (batch_size, sequence_length, hidden_size)) — Secuencia de estados ocultos en la salida de la última capa del modelo.

  • pooler_output (torch.Tensor de forma (batch_size, hidden_size)) — Estado oculto de la última capa del primer token de la secuencia (token de clasificación) después de un procesamiento adicional a través de las capas utilizadas para la tarea de preentrenamiento auxiliar. Por ejemplo, para la familia de modelos BERT, esto devuelve el token de clasificación después de procesarlo a través de una capa lineal y una función de activación tanh. Los pesos de la capa lineal se entrenan a partir del objetivo de predicción de la siguiente oración (clasificación) durante el preentrenamiento.

  • hidden_states (tuple(torch.Tensor), opcional, devuelto cuando se pasa output_hidden_states=True o cuando config.output_hidden_states=True) — Tupla de torch.Tensor (una para la salida de las incrustaciones, si el modelo tiene una capa de incrustaciones, + una para la salida de cada capa) de forma (batch_size, sequence_length, hidden_size).

    Estados ocultos del modelo en la salida de cada capa más las salidas opcionales de la incrustación inicial.

  • attentions (tuple(torch.Tensor), opcional, se devuelve cuando se pasa output_attentions=True o cuando config.output_attentions=True) — Tupla de torch.Tensor (una por cada capa) de forma (batch_size, num_heads, sequence_length, sequence_length).

    Pesos de atención tras el softmax de atención, utilizados para calcular la media ponderada en las cabezas de autoatención.

Ejemplos:

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

clase transformers.FlavaImageCodebook

< >

( config: FlavaImageCodebookConfig**kwargs: Any )

Parámetros

  • config (FlavaImageCodebookConfig) — Clase de configuración del modelo con todos los parámetros del modelo. Inicializar con un archivo de configuración no carga los pesos asociados con el modelo, solo la configuración. Consulte el método from_pretrained() para cargar los pesos del modelo.

El modelo de libro de códigos de imágenes de FLAVA, inspirado en el codificador original de DALL-E. Genera estados ocultos crudos y se puede utilizar para generar tokens de imagen para una imagen basándose en el vocabulario de DALL-E. Se utiliza para generar etiquetas para MIM. Use get_codebook_indices para obtener los tokens de imagen de una imagen.

Este modelo hereda de PreTrainedModel. Consulta la documentación de la clase superior para los métodos genéricos que la biblioteca implementa para todos sus modelos (como la descarga o el guardado, el redimensionamiento de las incrustaciones de entrada, la poda de cabezas, etc.).

Este modelo también es una subclase de torch.nn.Module de PyTorch. Úsalo como un módulo de PyTorch regular y consulta la documentación de PyTorch para todo lo relacionado con el uso y el comportamiento generales.

forward

< >

( pixel_values: Tensor**kwargs )

get_codebook_indices

< >

( pixel_values: Tensor )

get_codebook_probs

< >

( pixel_values: Tensor )

FlavaTextModel

clase transformers.FlavaTextModel

< >

( config: FlavaTextConfigadd_pooling_layer: bool = True )

Parámetros

  • config (FlavaTextConfig) — Clase de configuración del modelo con todos los parámetros del modelo. Inicializar con un archivo de configuración no carga los pesos asociados con el modelo, solo la configuración. Consulte el método from_pretrained() para cargar los pesos del modelo.
  • add_pooling_layer (bool, opcional, valor predeterminado True) — Si se debe añadir una capa de pooling

El modelo de texto Flava sin procesar, que genera estados ocultos crudos sin ninguna cabeza específica en la parte superior.

Este modelo hereda de PreTrainedModel. Consulta la documentación de la clase superior para los métodos genéricos que la biblioteca implementa para todos sus modelos (como la descarga o el guardado, el redimensionamiento de las incrustaciones de entrada, la poda de cabezas, etc.).

Este modelo también es una subclase de torch.nn.Module de PyTorch. Úsalo como un módulo de PyTorch regular y consulta la documentación de PyTorch para todo lo relacionado con el uso y el comportamiento generales.

forward

< >

( 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.LongTensor de forma (batch_size, text_seq_length)) — Índices de los tokens de la secuencia de entrada en el vocabulario. Los índices se pueden obtener usando AutoTokenizer. Consulte PreTrainedTokenizer.encode() y PreTrainedTokenizer.call() para más detalles. ¿Qué son los IDs de entrada?
  • attention_mask (torch.Tensor de forma (batch_size, sequence_length), opcional) — Máscara para evitar realizar atención en los índices de tokens de relleno. Valores de máscara seleccionados en [0, 1]:
    • 1 para los tokens que no están enmascarados,
    • 0 para los tokens que están enmascarados.

    ¿Qué son las máscaras de atención?

  • token_type_ids (torch.LongTensor de forma (batch_size, text_seq_length), opcional) — Índices de tokens de segmento para indicar las primeras y segundas partes de las entradas. Los índices se seleccionan en [0, 1]:
  • position_ids (torch.Tensor de forma (batch_size, sequence_length), opcional) — Índices de las posiciones de los tokens de cada secuencia de entrada en los embeddings de posición. Seleccionados en el rango [0, config.n_positions - 1].

    ¿Qué son los IDs de posición?

  • output_attentions (bool, opcional) — Indica si se deben devolver los tensores de atención de todas las capas de atención. Consulte attentions en los tensores devueltos para obtener más detalles.
  • output_hidden_states (bool, opcional) — Indica si se deben devolver los estados ocultos de todas las capas. Consulte hidden_states en los tensores devueltos para obtener más detalles.
  • return_dict (bool, opcional) — Indica si se debe devolver un ModelOutput en lugar de una tupla simple.

Devuelve

BaseModelOutputWithPooling o tuple(torch.Tensor)

Un BaseModelOutputWithPooling o una tupla de torch.Tensor (si se pasa return_dict=False o cuando config.return_dict=False) que comprende varios elementos según la configuración (FlavaConfig) y las entradas.

El método forward de FlavaTextModel sobrescribe el método especial __call__.

Aunque la receta para la pasada hacia adelante debe definirse dentro de esta función, se debe llamar a la instancia de Module después en lugar de a esta, ya que la primera se encarga de ejecutar los pasos de pre y postprocesamiento, mientras que la segunda los ignora silenciosamente.

  • last_hidden_state (torch.Tensor de forma (batch_size, sequence_length, hidden_size)) — Secuencia de estados ocultos en la salida de la última capa del modelo.

  • pooler_output (torch.Tensor de forma (batch_size, hidden_size)) — Estado oculto de la última capa del primer token de la secuencia (token de clasificación) después de un procesamiento adicional a través de las capas utilizadas para la tarea de preentrenamiento auxiliar. Por ejemplo, para la familia de modelos BERT, esto devuelve el token de clasificación después de procesarlo a través de una capa lineal y una función de activación tanh. Los pesos de la capa lineal se entrenan a partir del objetivo de predicción de la siguiente oración (clasificación) durante el preentrenamiento.

  • hidden_states (tuple(torch.Tensor), opcional, devuelto cuando se pasa output_hidden_states=True o cuando config.output_hidden_states=True) — Tupla de torch.Tensor (una para la salida de las incrustaciones, si el modelo tiene una capa de incrustaciones, + una para la salida de cada capa) de forma (batch_size, sequence_length, hidden_size).

    Estados ocultos del modelo en la salida de cada capa más las salidas opcionales de la incrustación inicial.

  • attentions (tuple(torch.Tensor), opcional, se devuelve cuando se pasa output_attentions=True o cuando config.output_attentions=True) — Tupla de torch.Tensor (una por cada capa) de forma (batch_size, num_heads, sequence_length, sequence_length).

    Pesos de atención tras el softmax de atención, utilizados para calcular la media ponderada en las cabezas de autoatención.

FlavaImageModel

clase transformers.FlavaImageModel

< >

( config: FlavaImageConfigadd_pooling_layer: bool = True )

Parámetros

  • config (FlavaImageConfig) — Clase de configuración del modelo con todos los parámetros del modelo. Inicializar con un archivo de configuración no carga los pesos asociados con el modelo, solo la configuración. Consulte el método from_pretrained() para cargar los pesos del modelo.
  • add_pooling_layer (bool, opcional, valor predeterminado True) — Si se debe añadir una capa de pooling

El modelo Flava básico que genera estados ocultos sin ninguna cabeza específica en la parte superior.

Este modelo hereda de PreTrainedModel. Consulta la documentación de la clase superior para los métodos genéricos que la biblioteca implementa para todos sus modelos (como la descarga o el guardado, el redimensionamiento de las incrustaciones de entrada, la poda de cabezas, etc.).

Este modelo también es una subclase de torch.nn.Module de PyTorch. Úsalo como un módulo de PyTorch regular y consulta la documentación de PyTorch para todo lo relacionado con el uso y el comportamiento generales.

forward

< >

( 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.Tensor de forma (batch_size, num_channels, image_size, image_size), opcional) — Los tensores correspondientes a las imágenes de entrada. Los valores de píxeles se pueden obtener utilizando FlavaImageProcessor. Consulte FlavaImageProcessor.call() para más detalles (FlavaProcessor utiliza FlavaImageProcessor para procesar las imágenes).
  • bool_masked_pos (torch.BoolTensor de forma (batch_size, image_num_patches)) — Posiciones enmascaradas booleanas. Indica qué parches están enmascarados (1) y cuáles no (0).
  • interpolate_pos_encoding (bool, opcional) — Si se debe interpolar las codificaciones de posición preentrenadas.
  • attention_mask (torch.Tensor de forma (batch_size, sequence_length), opcional) — Máscara para evitar realizar atención en los índices de tokens de relleno. Valores de máscara seleccionados en [0, 1]:
    • 1 para los tokens que no están enmascarados,
    • 0 para los tokens que están enmascarados.

    ¿Qué son las máscaras de atención?

  • output_attentions (bool, opcional) — Indica si se deben devolver los tensores de atención de todas las capas de atención. Consulte attentions en los tensores devueltos para obtener más detalles.
  • output_hidden_states (bool, opcional) — Indica si se deben devolver los estados ocultos de todas las capas. Consulte hidden_states en los tensores devueltos para obtener más detalles.
  • return_dict (bool, opcional) — Indica si se debe devolver un ModelOutput en lugar de una tupla simple.

Devuelve

BaseModelOutputWithPooling o tuple(torch.Tensor)

Un BaseModelOutputWithPooling o una tupla de torch.Tensor (si se pasa return_dict=False o cuando config.return_dict=False) que comprende varios elementos según la configuración (FlavaConfig) y las entradas.

El método forward de FlavaImageModel reemplaza el método especial __call__.

Aunque la receta para la pasada hacia adelante debe definirse dentro de esta función, se debe llamar a la instancia de Module después en lugar de a esta, ya que la primera se encarga de ejecutar los pasos de pre y postprocesamiento, mientras que la segunda los ignora silenciosamente.

  • last_hidden_state (torch.Tensor de forma (batch_size, sequence_length, hidden_size)) — Secuencia de estados ocultos en la salida de la última capa del modelo.

  • pooler_output (torch.Tensor de forma (batch_size, hidden_size)) — Estado oculto de la última capa del primer token de la secuencia (token de clasificación) después de un procesamiento adicional a través de las capas utilizadas para la tarea de preentrenamiento auxiliar. Por ejemplo, para la familia de modelos BERT, esto devuelve el token de clasificación después de procesarlo a través de una capa lineal y una función de activación tanh. Los pesos de la capa lineal se entrenan a partir del objetivo de predicción de la siguiente oración (clasificación) durante el preentrenamiento.

  • hidden_states (tuple(torch.Tensor), opcional, devuelto cuando se pasa output_hidden_states=True o cuando config.output_hidden_states=True) — Tupla de torch.Tensor (una para la salida de las incrustaciones, si el modelo tiene una capa de incrustaciones, + una para la salida de cada capa) de forma (batch_size, sequence_length, hidden_size).

    Estados ocultos del modelo en la salida de cada capa más las salidas opcionales de la incrustación inicial.

  • attentions (tuple(torch.Tensor), opcional, se devuelve cuando se pasa output_attentions=True o cuando config.output_attentions=True) — Tupla de torch.Tensor (una por cada capa) de forma (batch_size, num_heads, sequence_length, sequence_length).

    Pesos de atención tras el softmax de atención, utilizados para calcular la media ponderada en las cabezas de autoatención.

FlavaMultimodalModel

clase transformers.FlavaMultimodalModel

< >

( config: FlavaMultimodalConfigadd_pooling_layer = True )

Parámetros

  • config (FlavaMultimodalConfig) — Clase de configuración del modelo con todos los parámetros del modelo. Inicializar con un archivo de configuración no carga los pesos asociados con el modelo, solo la configuración. Consulte el método from_pretrained() para cargar los pesos del modelo.
  • add_pooling_layer (bool, opcional, valor predeterminado True) — Si se debe añadir una capa de pooling

El modelo Flava básico que genera estados ocultos sin ninguna cabeza específica en la parte superior.

Este modelo hereda de PreTrainedModel. Consulta la documentación de la clase superior para los métodos genéricos que la biblioteca implementa para todos sus modelos (como la descarga o el guardado, el redimensionamiento de las incrustaciones de entrada, la poda de cabezas, etc.).

Este modelo también es una subclase de torch.nn.Module de PyTorch. Úsalo como un módulo de PyTorch regular y consulta la documentación de PyTorch para todo lo relacionado con el uso y el comportamiento generales.

forward

< >

( 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.Tensor de forma (batch_size, image_num_patches + text_seq_len, hidden_size)) — Los estados ocultos concatenados de los codificadores unimodales.
  • attention_mask (torch.Tensor de forma (batch_size, sequence_length), opcional) — Máscara para evitar realizar atención en los índices de tokens de relleno. Valores de máscara seleccionados en [0, 1]:
    • 1 para los tokens que no están enmascarados,
    • 0 para los tokens que están enmascarados.

    ¿Qué son las máscaras de atención?

  • output_attentions (bool, opcional) — Indica si se deben devolver los tensores de atención de todas las capas de atención. Consulte attentions en los tensores devueltos para obtener más detalles.
  • output_hidden_states (bool, opcional) — Indica si se deben devolver los estados ocultos de todas las capas. Consulte hidden_states en los tensores devueltos para obtener más detalles.
  • return_dict (bool, opcional) — Indica si se debe devolver un ModelOutput en lugar de una tupla simple.

Devuelve

BaseModelOutputWithPooling o tuple(torch.Tensor)

Un BaseModelOutputWithPooling o una tupla de torch.Tensor (si se pasa return_dict=False o cuando config.return_dict=False) que comprende varios elementos según la configuración (FlavaConfig) y las entradas.

El método forward de FlavaMultimodalModel reemplaza el método especial __call__.

Aunque la receta para la pasada hacia adelante debe definirse dentro de esta función, se debe llamar a la instancia de Module después en lugar de a esta, ya que la primera se encarga de ejecutar los pasos de pre y postprocesamiento, mientras que la segunda los ignora silenciosamente.

  • last_hidden_state (torch.Tensor de forma (batch_size, sequence_length, hidden_size)) — Secuencia de estados ocultos en la salida de la última capa del modelo.

  • pooler_output (torch.Tensor de forma (batch_size, hidden_size)) — Estado oculto de la última capa del primer token de la secuencia (token de clasificación) después de un procesamiento adicional a través de las capas utilizadas para la tarea de preentrenamiento auxiliar. Por ejemplo, para la familia de modelos BERT, esto devuelve el token de clasificación después de procesarlo a través de una capa lineal y una función de activación tanh. Los pesos de la capa lineal se entrenan a partir del objetivo de predicción de la siguiente oración (clasificación) durante el preentrenamiento.

  • hidden_states (tuple(torch.Tensor), opcional, devuelto cuando se pasa output_hidden_states=True o cuando config.output_hidden_states=True) — Tupla de torch.Tensor (una para la salida de las incrustaciones, si el modelo tiene una capa de incrustaciones, + una para la salida de cada capa) de forma (batch_size, sequence_length, hidden_size).

    Estados ocultos del modelo en la salida de cada capa más las salidas opcionales de la incrustación inicial.

  • attentions (tuple(torch.Tensor), opcional, se devuelve cuando se pasa output_attentions=True o cuando config.output_attentions=True) — Tupla de torch.Tensor (una por cada capa) de forma (batch_size, num_heads, sequence_length, sequence_length).

    Pesos de atención tras el softmax de atención, utilizados para calcular la media ponderada en las cabezas de autoatención.

Update on GitHub