Transformers documentation
FLAVA
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
< source >( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Noneimage_config: dict[str, typing.Any] | transformers.configuration_utils.PreTrainedConfig | None = Nonetext_config: dict[str, typing.Any] | transformers.configuration_utils.PreTrainedConfig | None = Nonemultimodal_config: dict[str, typing.Any] | transformers.configuration_utils.PreTrainedConfig | None = Noneimage_codebook_config: dict[str, typing.Any] | transformers.configuration_utils.PreTrainedConfig | None = Nonehidden_size: int = 768layer_norm_eps: float = 1e-12projection_dim: int = 768init_codebook: bool = Truelogit_scale_init_value: float = 2.6592initializer_range: float = 0.02ce_ignore_index: int = -100mim_weight: float = 1.0mlm_weight: float = 1.0global_contrastive_weight: float = 1.0itm_weight: float = 1.0mmm_image_weight: float = 1.0mmm_text_weight: float = 1.0global_backprop_contrastive: bool = Trueskip_unmasked_multimodal_encoder: bool = Truereturn_loss: bool = Truetie_word_embeddings: bool = Trueinitializer_factor: float = 1.0 )
Parámetros
- image_config (
dict, opcional) — 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 inicializarFlavaCodebookConfig. - hidden_size (
int, opcional, valor predeterminado768) — Dimensión de las representaciones ocultas. - layer_norm_eps (
float, opcional, valor predeterminado1e-12) — El epsilon utilizado por las capas de normalización de capa. - projection_dim (
int, opcional, valor predeterminado768) — Dimensionalidad de las capas de proyección de texto y visión. - init_codebook (
bool, opcional, por defectoTrue) — 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 predeterminado0.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 predeterminadoTrue) — 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 predeterminadoTrue) — 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 predeterminadoTrue) — Si se debe devolver la pérdida o no - tie_word_embeddings (
bool, opcional, valor predeterminadoTrue) — Si se deben vincular las matrices de pesos de embeddings según el mapeotied_weights_keysdel modelo. - initializer_factor (
float, opcional, valor predeterminado1.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.configFlavaTextConfig
clase transformers.FlavaTextConfig
< source >( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Nonevocab_size: int = 30522type_vocab_size: int = 2max_position_embeddings: int = 512hidden_size: int = 768num_hidden_layers: int = 12num_attention_heads: int = 12intermediate_size: int = 3072hidden_act: str = 'gelu'hidden_dropout_prob: float | int = 0.0attention_probs_dropout_prob: float | int = 0.0initializer_range: float = 0.02layer_norm_eps: float = 1e-12pad_token_id: int | None = 0qkv_bias: bool = True )
Parámetros
- vocab_size (
int, opcional, valor predeterminado30522) — Tamaño del vocabulario del modelo. Define el número de tokens diferentes que pueden representarse medianteinput_ids. - type_vocab_size (
int, opcional, valor predeterminado2) — El tamaño del vocabulario detoken_type_ids. - max_position_embeddings (
int, opcional, valor predeterminado512) — La longitud máxima de secuencia con la que se podría utilizar este modelo. - hidden_size (
int, opcional, valor predeterminado768) — Dimensión de las representaciones ocultas. - num_hidden_layers (
int, opcional, valor predeterminado12) — Número de capas ocultas en el decodificador del Transformer. - num_attention_heads (
int, opcional, valor predeterminado12) — Número de cabezas de atención para cada capa de atención en el decodificador Transformer. - intermediate_size (
int, opcional, valor predeterminado3072) — Dimensión de las representaciones del MLP. - hidden_act (
str, opcional, valor predeterminadogelu) — 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 predeterminado0.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 predeterminado0.0) — La proporción de dropout para las probabilidades de atención. - initializer_range (
float, opcional, valor predeterminado0.02) — La desviación estándar del truncated_normal_initializer para inicializar todas las matrices de pesos. - layer_norm_eps (
float, opcional, valor predeterminado1e-12) — El epsilon utilizado por las capas de normalización de capa. - pad_token_id (
int, opcional, valor predeterminado0) — Id del token utilizado para el relleno en el vocabulario. - qkv_bias (
bool, opcional, valor predeterminadoTrue) — 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.configFlavaImageConfig
clase transformers.FlavaImageConfig
< source >( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Nonehidden_size: int = 768num_hidden_layers: int = 12num_attention_heads: int = 12intermediate_size: int = 3072hidden_act: str = 'gelu'hidden_dropout_prob: float | int = 0.0attention_probs_dropout_prob: float | int = 0.0initializer_range: float = 0.02layer_norm_eps: float = 1e-12image_size: int | list[int] | tuple[int, int] = 224patch_size: int | list[int] | tuple[int, int] = 16num_channels: int = 3qkv_bias: bool = Truemask_token: bool = Truevocab_size: int = 8192 )
Parámetros
- hidden_size (
int, opcional, valor predeterminado768) — Dimensión de las representaciones ocultas. - num_hidden_layers (
int, opcional, valor predeterminado12) — Número de capas ocultas en el decodificador del Transformer. - num_attention_heads (
int, opcional, valor predeterminado12) — Número de cabezas de atención para cada capa de atención en el decodificador Transformer. - intermediate_size (
int, opcional, valor predeterminado3072) — Dimensión de las representaciones del MLP. - hidden_act (
str, opcional, valor predeterminadogelu) — 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 predeterminado0.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 predeterminado0.0) — La proporción de dropout para las probabilidades de atención. - initializer_range (
float, opcional, valor predeterminado0.02) — La desviación estándar del truncated_normal_initializer para inicializar todas las matrices de pesos. - layer_norm_eps (
float, opcional, valor predeterminado1e-12) — El epsilon utilizado por las capas de normalización de capa. - image_size (
Union[int, list[int], tuple[int, int]], opcional, valor predeterminado224) — El tamaño (resolución) de cada imagen. - patch_size (
Union[int, list[int], tuple[int, int]], opcional, valor predeterminado16) — El tamaño (resolución) de cada parche. - num_channels (
int, opcional, valor predeterminado3) — El número de canales de entrada. - qkv_bias (
bool, opcional, valor predeterminadoTrue) — Si se debe añadir un sesgo a las consultas, claves y valores. - mask_token (
bool, opcional, valor predeterminadoTrue) — 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 predeterminado8192) — Tamaño del vocabulario del modelo. Define el número de tokens diferentes que pueden representarse medianteinput_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.configFlavaMultimodalConfig
clase transformers.FlavaMultimodalConfig
< source >( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Nonehidden_size: int = 768num_hidden_layers: int = 6num_attention_heads: int = 12intermediate_size: int = 3072hidden_act: str = 'gelu'hidden_dropout_prob: float | int = 0.0attention_probs_dropout_prob: float | int = 0.0initializer_range: float = 0.02layer_norm_eps: float = 1e-12qkv_bias: bool = Trueuse_cls_token: bool = True )
Parámetros
- hidden_size (
int, opcional, valor predeterminado768) — Dimensión de las representaciones ocultas. - num_hidden_layers (
int, opcional, valor predeterminado6) — Número de capas ocultas en el decodificador Transformer. - num_attention_heads (
int, opcional, valor predeterminado12) — Número de cabezas de atención para cada capa de atención en el decodificador Transformer. - intermediate_size (
int, opcional, valor predeterminado3072) — Dimensión de las representaciones del MLP. - hidden_act (
str, opcional, valor predeterminadogelu) — 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 predeterminado0.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 predeterminado0.0) — La proporción de dropout para las probabilidades de atención. - initializer_range (
float, opcional, valor predeterminado0.02) — La desviación estándar del truncated_normal_initializer para inicializar todas las matrices de pesos. - layer_norm_eps (
float, opcional, valor predeterminado1e-12) — El epsilon utilizado por las capas de normalización de capa. - qkv_bias (
bool, opcional, valor predeterminadoTrue) — Si se debe añadir un sesgo a las consultas, claves y valores. - use_cls_token (
bool, opcional, valor predeterminadoTrue) — 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.configFlavaImageCodebookConfig
clase transformers.FlavaImageCodebookConfig
< source >( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Nonenum_groups: int = 4input_channels: int = 3num_blocks_per_group: int = 2hidden_size: int = 256vocab_size: int = 8192freeze: bool = Trueinitializer_range: float = 0.02 )
Parámetros
- num_groups (
int, opcional, 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 predeterminado3) — 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 predeterminado256) — Dimensión de las representaciones ocultas. - vocab_size (
int, opcional, valor predeterminado8192) — Tamaño del vocabulario del modelo. Define el número de tokens diferentes que pueden representarse medianteinput_ids. - freeze (
bool, por defectoTrue) — Si se congelan los pesos del modelo. - initializer_range (
float, opcional, valor predeterminado0.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.configFlavaProcessor
clase transformers.FlavaProcessor
< source >( image_processor = Nonetokenizer = None**kwargs )
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__
< source >( images: typing.Union[ForwardRef('PIL.Image.Image'), numpy.ndarray, ForwardRef('torch.Tensor'), list['PIL.Image.Image'], list[numpy.ndarray], list['torch.Tensor'], NoneType] = Nonetext: str | list[str] | list[list[str]] | None = Nonevideos: typing.Union[list['PIL.Image.Image'], numpy.ndarray, ForwardRef('torch.Tensor'), list[numpy.ndarray], list['torch.Tensor'], list[list['PIL.Image.Image']], list[list[numpy.ndarray]], list[list['torch.Tensor']], transformers.video_utils.URL, list[transformers.video_utils.URL], list[list[transformers.video_utils.URL]], transformers.video_utils.Path, list[transformers.video_utils.Path], list[list[transformers.video_utils.Path]], NoneType] = Noneaudio: typing.Union[numpy.ndarray, ForwardRef('torch.Tensor'), collections.abc.Sequence[numpy.ndarray], collections.abc.Sequence['torch.Tensor'], NoneType] = None**kwargs: *<class 'transformers.processing_utils.ProcessingKwargs'> )
Parámetros
- images (
Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]], opcional) — 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, establezcado_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, establezcais_split_into_words=Truepara 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, establecedo_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 (
stro TensorType, opcional) — Si se establece, devolverá tensores de un marco de trabajo específico. Los valores aceptables son:'pt': Devuelve objetostorch.Tensorde PyTorch.'np': Devuelve objetosnp.ndarrayde 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
< source >( **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 predeterminadoTrue) — 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 predeterminadoTrue) — 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 aplicarcenter_crop. - resample (
Annotated[Union[int, PILImageResampling, NoneType], None], kwargs, por defecto3) — Filtro de remuestreo a utilizar si se redimensiona la imagen. Puede ser uno de los valores de la enumeraciónPILImageResampling. Solo tiene efecto sido_resizeestá establecido enTrue. - do_rescale (
bool, kwargs, opcional, valor predeterminadoTrue) — Si se debe reescalar la imagen. - rescale_factor (
float, kwargs, opcional, valor predeterminado0.00392156862745098) — Factor de reescalado para reescalar la imagen sido_rescaleestá establecido enTrue. - do_normalize (
bool, kwargs, opcional, valor predeterminadoTrue) — 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 sido_normalizeestá establecido enTrue. - 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 sido_normalizeestá establecido enTrue. - 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 proporcionapad_size, las imágenes se rellenarán hasta la mayor altura y anchura del lote. Se aplica solo cuandodo_pad=True. - do_center_crop (
bool, kwargs, opcional, valor predeterminadoTrue) — Si se debe recortar la imagen centrada. - data_format (
Union[str, ~image_utils.ChannelDimension], kwargs, opcional) — Solo se admiteChannelDimension.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"oChannelDimension.FIRST: imagen en formato (num_channels, height, width)."channels_last"oChannelDimension.LAST: imagen en formato (altura, ancho, num_canales)."none"oChannelDimension.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 predeterminadoFalse) — Si se debe devolver la máscara de imagen. Puede ser sobrescrito por el parámetroreturn_image_maskenpreprocess. - input_size_patches (
int, kwargs, opcional, valor predeterminado14) — 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ámetroinput_size_patchesenpreprocess. - total_mask_patches (
int, kwargs, opcional, valor predeterminado75) — Número total de parches que deben enmascararse. Puede sobrescribirse mediante el parámetrototal_mask_patchesenpreprocess. - mask_group_min_patches (
int, kwargs, opcional, valor predeterminado16) — Número mínimo de parches que deben enmascararse. Puede sobrescribirse mediante el parámetromask_group_min_patchesenpreprocess. - mask_group_max_patches (
int, kwargs, opcional) — Número máximo de parches que deben enmascararse. Puede sobrescribirse mediante el parámetromask_group_max_patchesenpreprocess. - mask_group_min_aspect_ratio (
float, kwargs, opcional, valor predeterminado0.3) — Relación de aspecto mínima de la ventana de la máscara. Puede ser sobrescrita por el parámetromask_group_min_aspect_ratioenpreprocess. - 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ámetromask_group_max_aspect_ratioenpreprocess. - return_codebook_pixels (
bool, kwargs, opcional, valor predeterminadoFalse) — Si se deben devolver los valores de píxeles del codebook. - codebook_do_resize (
bool, kwargs, opcional, valor predeterminadoTrue) — Si se debe redimensionar la entrada para el codebook a un tamaño determinado. Puede ser anulado por el parámetrocodebook_do_resizeenpreprocess.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ámetrocodebook_sizeenpreprocess. - codebook_resample (
PILImageResampling, kwargs, opcional, valor predeterminadoPILImageResampling.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ámetrocodebook_resampleenpreprocess. - codebook_do_center_crop (
bool, kwargs, opcional, valor predeterminadoTrue) — Indica si se debe recortar la entrada para el codebook en el centro. Si el tamaño de la entrada es menor quecodebook_crop_sizeen cualquier borde, la imagen se rellena con 0 y luego se recorta en el centro. Puede ser anulado por el parámetrocodebook_do_center_cropenpreprocess. - 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ámetrocodebook_crop_sizeenpreprocess. - codebook_do_rescale (
bool, kwargs, opcional, valor predeterminadoTrue) — Si se debe reescalar la entrada para el codebook mediante el factor de escala especificadocodebook_rescale_factor. Puede ser anulado por el parámetrocodebook_do_rescaleenpreprocess. - codebook_rescale_factor (
int, kwargs ofloat, opcional, valor predeterminado1/255) — Define el factor de escala a utilizar si se reescala la imagen del codebook. Puede ser anulado por el parámetrocodebook_rescale_factorenpreprocess. - codebook_do_map_pixels (
bool, kwargs, opcional, valor predeterminadoTrue) — 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ámetrocodebook_do_map_pixelsenpreprocess. - codebook_do_normalize (
bool, kwargs, opcional, valor predeterminadoTrue) — Indica si se debe normalizar la entrada para el codebook concodebook_image_meanycodebook_image_std. Puede ser anulado por el parámetrocodebook_do_normalizeenpreprocess. - 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ámetrocodebook_image_meanenpreprocess. - 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ámetrocodebook_image_stdenpreprocess.
Construye un procesador de imágenes FlavaImageProcessor.
preprocesar
< source >( images: typing.Union[ForwardRef('PIL.Image.Image'), numpy.ndarray, ForwardRef('torch.Tensor'), list['PIL.Image.Image'], list[numpy.ndarray], list['torch.Tensor']]**kwargs: *<class 'transformers.models.flava.image_processing_flava.FlavaImageProcessorKwargs'> ) → ~image_processing_base.BatchFeature
Parámetros
- images (
Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]]) — 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, establezcado_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 aplicarcenter_crop. - resample (
Annotated[Union[int, PILImageResampling, NoneType], None], kwargs) — Filtro de remuestreo a utilizar si se redimensiona la imagen. Puede ser uno de los enumPILImageResampling. Solo tiene efecto sido_resizeestá establecido enTrue. - do_rescale (
bool, kwargs, opcional) — Si se debe reescalar la imagen. - rescale_factor (
float, kwargs, opcional) — Factor de reescalado para reescalar la imagen sido_rescaleestá establecido enTrue. - 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 sido_normalizeestá establecido enTrue. - 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 sido_normalizeestá establecido enTrue. - 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 proporcionapad_size, las imágenes se rellenarán hasta la mayor altura y anchura del lote. Se aplica solo cuandodo_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 admiteChannelDimension.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"oChannelDimension.FIRST: imagen en formato (num_channels, height, width)."channels_last"oChannelDimension.LAST: imagen en formato (altura, ancho, num_canales)."none"oChannelDimension.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 predeterminadoFalse) — Si se debe devolver la máscara de imagen. Puede ser sobrescrito por el parámetroreturn_image_maskenpreprocess. - input_size_patches (
int, kwargs, opcional, valor predeterminado14) — 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ámetroinput_size_patchesenpreprocess. - total_mask_patches (
int, kwargs, opcional, valor predeterminado75) — Número total de parches que deben enmascararse. Puede sobrescribirse mediante el parámetrototal_mask_patchesenpreprocess. - mask_group_min_patches (
int, kwargs, opcional, valor predeterminado16) — Número mínimo de parches que deben enmascararse. Puede sobrescribirse mediante el parámetromask_group_min_patchesenpreprocess. - mask_group_max_patches (
int, kwargs, opcional) — Número máximo de parches que deben enmascararse. Puede sobrescribirse mediante el parámetromask_group_max_patchesenpreprocess. - mask_group_min_aspect_ratio (
float, kwargs, opcional, valor predeterminado0.3) — Relación de aspecto mínima de la ventana de la máscara. Puede ser sobrescrita por el parámetromask_group_min_aspect_ratioenpreprocess. - 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ámetromask_group_max_aspect_ratioenpreprocess. - return_codebook_pixels (
bool, kwargs, opcional, valor predeterminadoFalse) — Si se deben devolver los valores de píxeles del codebook. - codebook_do_resize (
bool, kwargs, opcional, valor predeterminadoTrue) — Si se debe redimensionar la entrada para el codebook a un tamaño determinado. Puede ser anulado por el parámetrocodebook_do_resizeenpreprocess.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ámetrocodebook_sizeenpreprocess. - codebook_resample (
PILImageResampling, kwargs, opcional, valor predeterminadoPILImageResampling.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ámetrocodebook_resampleenpreprocess. - codebook_do_center_crop (
bool, kwargs, opcional, valor predeterminadoTrue) — Indica si se debe recortar la entrada para el codebook en el centro. Si el tamaño de la entrada es menor quecodebook_crop_sizeen cualquier borde, la imagen se rellena con 0 y luego se recorta en el centro. Puede ser anulado por el parámetrocodebook_do_center_cropenpreprocess. - 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ámetrocodebook_crop_sizeenpreprocess. - codebook_do_rescale (
bool, kwargs, opcional, valor predeterminadoTrue) — Si se debe reescalar la entrada para el codebook mediante el factor de escala especificadocodebook_rescale_factor. Puede ser anulado por el parámetrocodebook_do_rescaleenpreprocess. - codebook_rescale_factor (
int, kwargs ofloat, opcional, valor predeterminado1/255) — Define el factor de escala a utilizar si se reescala la imagen del codebook. Puede ser anulado por el parámetrocodebook_rescale_factorenpreprocess. - codebook_do_map_pixels (
bool, kwargs, opcional, valor predeterminadoTrue) — 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ámetrocodebook_do_map_pixelsenpreprocess. - codebook_do_normalize (
bool, kwargs, opcional, valor predeterminadoTrue) — Indica si se debe normalizar la entrada para el codebook concodebook_image_meanycodebook_image_std. Puede ser anulado por el parámetrocodebook_do_normalizeenpreprocess. - 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ámetrocodebook_image_meanenpreprocess. - 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ámetrocodebook_image_stdenpreprocess.
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
< source >( **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 predeterminadoTrue) — 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 predeterminadoTrue) — 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 aplicarcenter_crop. - resample (
Annotated[Union[int, PILImageResampling, NoneType], None], kwargs, por defecto3) — Filtro de remuestreo a utilizar si se redimensiona la imagen. Puede ser uno de los valores de la enumeraciónPILImageResampling. Solo tiene efecto sido_resizeestá establecido enTrue. - do_rescale (
bool, kwargs, opcional, valor predeterminadoTrue) — Si se debe reescalar la imagen. - rescale_factor (
float, kwargs, opcional, valor predeterminado0.00392156862745098) — Factor de reescalado para reescalar la imagen sido_rescaleestá establecido enTrue. - do_normalize (
bool, kwargs, opcional, valor predeterminadoTrue) — 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 sido_normalizeestá establecido enTrue. - 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 sido_normalizeestá establecido enTrue. - 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 proporcionapad_size, las imágenes se rellenarán hasta la mayor altura y anchura del lote. Se aplica solo cuandodo_pad=True. - do_center_crop (
bool, kwargs, opcional, valor predeterminadoTrue) — Si se debe recortar la imagen centrada. - data_format (
Union[str, ~image_utils.ChannelDimension], kwargs, opcional) — Solo se admiteChannelDimension.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"oChannelDimension.FIRST: imagen en formato (num_channels, height, width)."channels_last"oChannelDimension.LAST: imagen en formato (altura, ancho, num_canales)."none"oChannelDimension.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 predeterminadoFalse) — Si se debe devolver la máscara de imagen. Puede ser sobrescrito por el parámetroreturn_image_maskenpreprocess. - input_size_patches (
int, kwargs, opcional, valor predeterminado14) — 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ámetroinput_size_patchesenpreprocess. - total_mask_patches (
int, kwargs, opcional, valor predeterminado75) — Número total de parches que deben enmascararse. Puede sobrescribirse mediante el parámetrototal_mask_patchesenpreprocess. - mask_group_min_patches (
int, kwargs, opcional, valor predeterminado16) — Número mínimo de parches que deben enmascararse. Puede sobrescribirse mediante el parámetromask_group_min_patchesenpreprocess. - mask_group_max_patches (
int, kwargs, opcional) — Número máximo de parches que deben enmascararse. Puede sobrescribirse mediante el parámetromask_group_max_patchesenpreprocess. - mask_group_min_aspect_ratio (
float, kwargs, opcional, valor predeterminado0.3) — Relación de aspecto mínima de la ventana de la máscara. Puede ser sobrescrita por el parámetromask_group_min_aspect_ratioenpreprocess. - 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ámetromask_group_max_aspect_ratioenpreprocess. - return_codebook_pixels (
bool, kwargs, opcional, valor predeterminadoFalse) — Si se deben devolver los valores de píxeles del codebook. - codebook_do_resize (
bool, kwargs, opcional, valor predeterminadoTrue) — Si se debe redimensionar la entrada para el codebook a un tamaño determinado. Puede ser anulado por el parámetrocodebook_do_resizeenpreprocess.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ámetrocodebook_sizeenpreprocess. - codebook_resample (
PILImageResampling, kwargs, opcional, valor predeterminadoPILImageResampling.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ámetrocodebook_resampleenpreprocess. - codebook_do_center_crop (
bool, kwargs, opcional, valor predeterminadoTrue) — Indica si se debe recortar la entrada para el codebook en el centro. Si el tamaño de la entrada es menor quecodebook_crop_sizeen cualquier borde, la imagen se rellena con 0 y luego se recorta en el centro. Puede ser anulado por el parámetrocodebook_do_center_cropenpreprocess. - 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ámetrocodebook_crop_sizeenpreprocess. - codebook_do_rescale (
bool, kwargs, opcional, valor predeterminadoTrue) — Si se debe reescalar la entrada para el codebook mediante el factor de escala especificadocodebook_rescale_factor. Puede ser anulado por el parámetrocodebook_do_rescaleenpreprocess. - codebook_rescale_factor (
int, kwargs ofloat, opcional, valor predeterminado1/255) — Define el factor de escala a utilizar si se reescala la imagen del codebook. Puede ser anulado por el parámetrocodebook_rescale_factorenpreprocess. - codebook_do_map_pixels (
bool, kwargs, opcional, valor predeterminadoTrue) — 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ámetrocodebook_do_map_pixelsenpreprocess. - codebook_do_normalize (
bool, kwargs, opcional, valor predeterminadoTrue) — Indica si se debe normalizar la entrada para el codebook concodebook_image_meanycodebook_image_std. Puede ser anulado por el parámetrocodebook_do_normalizeenpreprocess. - 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ámetrocodebook_image_meanenpreprocess. - 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ámetrocodebook_image_stdenpreprocess.
Construye un procesador de imágenes FlavaImageProcessor.
preprocesar
< source >( images: typing.Union[ForwardRef('PIL.Image.Image'), numpy.ndarray, ForwardRef('torch.Tensor'), list['PIL.Image.Image'], list[numpy.ndarray], list['torch.Tensor']]**kwargs: *<class 'transformers.models.flava.image_processing_pil_flava.FlavaImageProcessorKwargs'> ) → ~image_processing_base.BatchFeature
Parámetros
- images (
Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]]) — 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, establezcado_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 aplicarcenter_crop. - resample (
Annotated[Union[int, PILImageResampling, NoneType], None], kwargs) — Filtro de remuestreo a utilizar si se redimensiona la imagen. Puede ser uno de los enumPILImageResampling. Solo tiene efecto sido_resizeestá establecido enTrue. - do_rescale (
bool, kwargs, opcional) — Si se debe reescalar la imagen. - rescale_factor (
float, kwargs, opcional) — Factor de reescalado para reescalar la imagen sido_rescaleestá establecido enTrue. - 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 sido_normalizeestá establecido enTrue. - 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 sido_normalizeestá establecido enTrue. - 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 proporcionapad_size, las imágenes se rellenarán hasta la mayor altura y anchura del lote. Se aplica solo cuandodo_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 admiteChannelDimension.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"oChannelDimension.FIRST: imagen en formato (num_channels, height, width)."channels_last"oChannelDimension.LAST: imagen en formato (altura, ancho, num_canales)."none"oChannelDimension.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 predeterminadoFalse) — Si se debe devolver la máscara de imagen. Puede ser sobrescrito por el parámetroreturn_image_maskenpreprocess. - input_size_patches (
int, kwargs, opcional, valor predeterminado14) — 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ámetroinput_size_patchesenpreprocess. - total_mask_patches (
int, kwargs, opcional, valor predeterminado75) — Número total de parches que deben enmascararse. Puede sobrescribirse mediante el parámetrototal_mask_patchesenpreprocess. - mask_group_min_patches (
int, kwargs, opcional, valor predeterminado16) — Número mínimo de parches que deben enmascararse. Puede sobrescribirse mediante el parámetromask_group_min_patchesenpreprocess. - mask_group_max_patches (
int, kwargs, opcional) — Número máximo de parches que deben enmascararse. Puede sobrescribirse mediante el parámetromask_group_max_patchesenpreprocess. - mask_group_min_aspect_ratio (
float, kwargs, opcional, valor predeterminado0.3) — Relación de aspecto mínima de la ventana de la máscara. Puede ser sobrescrita por el parámetromask_group_min_aspect_ratioenpreprocess. - 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ámetromask_group_max_aspect_ratioenpreprocess. - return_codebook_pixels (
bool, kwargs, opcional, valor predeterminadoFalse) — Si se deben devolver los valores de píxeles del codebook. - codebook_do_resize (
bool, kwargs, opcional, valor predeterminadoTrue) — Si se debe redimensionar la entrada para el codebook a un tamaño determinado. Puede ser anulado por el parámetrocodebook_do_resizeenpreprocess.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ámetrocodebook_sizeenpreprocess. - codebook_resample (
PILImageResampling, kwargs, opcional, valor predeterminadoPILImageResampling.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ámetrocodebook_resampleenpreprocess. - codebook_do_center_crop (
bool, kwargs, opcional, valor predeterminadoTrue) — Indica si se debe recortar la entrada para el codebook en el centro. Si el tamaño de la entrada es menor quecodebook_crop_sizeen cualquier borde, la imagen se rellena con 0 y luego se recorta en el centro. Puede ser anulado por el parámetrocodebook_do_center_cropenpreprocess. - 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ámetrocodebook_crop_sizeenpreprocess. - codebook_do_rescale (
bool, kwargs, opcional, valor predeterminadoTrue) — Si se debe reescalar la entrada para el codebook mediante el factor de escala especificadocodebook_rescale_factor. Puede ser anulado por el parámetrocodebook_do_rescaleenpreprocess. - codebook_rescale_factor (
int, kwargs ofloat, opcional, valor predeterminado1/255) — Define el factor de escala a utilizar si se reescala la imagen del codebook. Puede ser anulado por el parámetrocodebook_rescale_factorenpreprocess. - codebook_do_map_pixels (
bool, kwargs, opcional, valor predeterminadoTrue) — 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ámetrocodebook_do_map_pixelsenpreprocess. - codebook_do_normalize (
bool, kwargs, opcional, valor predeterminadoTrue) — Indica si se debe normalizar la entrada para el codebook concodebook_image_meanycodebook_image_std. Puede ser anulado por el parámetrocodebook_do_normalizeenpreprocess. - 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ámetrocodebook_image_meanenpreprocess. - 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ámetrocodebook_image_stdenpreprocess.
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
< source >( 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
< source >( input_ids: typing.Optional[torch.LongTensor] = Noneinput_ids_masked: typing.Optional[torch.LongTensor] = Nonepixel_values: typing.Optional[torch.Tensor] = Nonecodebook_pixel_values: typing.Optional[torch.Tensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Nonetoken_type_ids: typing.Optional[torch.Tensor] = Nonebool_masked_pos: typing.Optional[torch.Tensor] = Noneposition_ids: typing.Optional[torch.LongTensor] = Noneimage_attention_mask: typing.Optional[torch.Tensor] = Noneskip_unmasked_multimodal_encoder: bool | None = Nonemlm_labels: typing.Optional[torch.Tensor] = Nonemim_labels: typing.Optional[torch.Tensor] = Noneitm_labels: typing.Optional[torch.Tensor] = Noneoutput_attentions: bool | None = Noneoutput_hidden_states: bool = Truereturn_dict: bool | None = Nonereturn_loss: bool | None = None**kwargs ) → FlavaForPreTrainingOutput or tuple(torch.Tensor)
Parámetros
- input_ids (
torch.LongTensorde forma(batch_size, text_seq_len)) — Índices 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.LongTensorde 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 conDataCollatorForMaskedLanguageModeling. Consulte PreTrainedTokenizer.encode() y PreTrainedTokenizer.call() para más detalles. ¿Qué son los input IDs? - pixel_values (
torch.Tensorde 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.Tensorde 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.Tensorde 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.
- token_type_ids (
torch.LongTensorde 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]:- 0 corresponde a un token de sentence A,
- 1 corresponde a un token de sentence B. ¿Qué son los IDs de tipo de token?
- bool_masked_pos (
torch.BoolTensorde forma(batch_size, image_num_patches)) — Posiciones enmascaradas booleanas. Indica qué parches están enmascarados (1) y cuáles no (0). - position_ids (
torch.LongTensorde 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]. - image_attention_mask (
torch.Tensorde 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]:- 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?
- 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.LongTensorde 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 deinput_ids). Los tokens con índices establecidos en-100se ignoran (se enmascaran); la pérdida solo se calcula para los tokens con etiquetas en[0, ..., text_config.vocab_size - 1]. - mim_labels (
torch.LongTensorde 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-100se 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.LongTensorde 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. Consulteattentionsen los tensores devueltos para obtener más detalles. - output_hidden_states (
bool, opcional, valor predeterminadoTrue) — Indica si se deben devolver los estados ocultos de todas las capas. Consultehidden_statesen 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
Moduledespué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 cuandoreturn_losses 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 claseFlavaLossespara obtener información sobre las claves. - image_embeddings (
torch.Tensorde forma(batch_size, output_dim), opcional, se devuelve cuando están presentespixel_values) — Las incrustaciones de imagen, que son básicamente la salida agrupada de FlavaImageModel. - image_output (
BaseModelOutputWithPooling, opcional, se devuelve cuando están presentespixel_values) — La salida del FlavaImageModel. - text_embeddings (
torch.Tensorde forma(batch_size, output_dim), opcional, se devuelve cuando están presentesinput_ids) — Las incrustaciones de texto, que son básicamente la salida agrupada de FlavaTextModel. - text_output (
BaseModelOutputWithPooling, opcional, se devuelve cuando están presentesinput_ids) — La salida del FlavaTextModel. - multimodal_embeddings (
torch.Tensorde forma(batch_size, output_dim), opcional, se devuelve cuandoinput_idsypixel_valuesestán presentes yskip_unmasked_multimodal_encoderesNoneoFalse) — Las incrustaciones multimodales, que son básicamente la salida agrupada de FlavaTextModel. - multimodal_output (
BaseModelOutputWithPooling, devuelto cuandoinput_idsypixel_valuesestán presentes yskip_unmasked_multimodal_encoderesNoneoFalse) — La salida del FlavaMultimodalModel. - image_masked_embeddings (
torch.Tensorde forma(batch_size, output_dim), opcional, se devuelve cuando están presentespixel_values) — Las incrustaciones de imagen, que son básicamente la salida agrupada de FlavaImageModel. Utilizabool_masked_pospara crear imágenes enmascaradas. - image_masked_output (
BaseModelOutputWithPooling, opcional, se devuelve cuando están presentespixel_values) — La salida del FlavaImageModel. Utilizabool_masked_pospara crear imágenes enmascaradas. - text_masked_embeddings (
torch.Tensorde forma(batch_size, output_dim), opcional, se devuelve cuando están presentesinput_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 presentesinput_ids_masked) — La salida del FlavaTextModel. - multimodal_masked_embeddings (
torch.Tensorde forma(batch_size, output_dim), opcional, se devuelve cuando están presentesinput_idsypixel_values) — Las incrustaciones multimodales, que son básicamente la salida agrupada de FlavaTextModel. - multimodal_masked_output (
BaseModelOutputWithPooling, opcional, se devuelve cuando están presentesinput_ids_maskedypixel_values) — La salida del FlavaMultimodalModel. - mim_logits (
torch.Tensorde forma(batch_size, num_image_patches, image_vocab_size)o de forma(total_masked_patches, image_vocab_size), opcional, se devuelve cuando están presentespixel_valuesy no están presentesinput_ids_masked) — Los logits para la pérdida unimodal de MIM. Utilizabool_masked_pospara obtener los parches enmascarados. La salida aplanada se devuelve cuandobool_masked_postiene algunos de los parches enmascarados. - mlm_logits (
torch.Tensorde 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 presentesinput_ids_maskedy nopixel_values) — Los logits para la pérdida unimodal de MLM. Se devuelve la salida aplanada cuandoinput_ids_maskedtiene algunos de los tokens enmascarados. - itm_logits (
torch.Tensorde forma(batch_size, 2), opcional, devuelto cuando están presentesinput_ids_maskedypixel_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.Tensorde forma(image_batch_size, text_batch_size)) — Las puntuaciones de producto punto escalado entreimage_embeddingsytext_embeddings, pero pasadas por las capasimage_projectionytext_projectionde FLAVA, respectivamente. Esto representa las puntuaciones de similitud imagen-texto. Se calcula en imágenes y textos sin enmascarar. - contrastive_logits_per_text (
torch.Tensorde forma(text_batch_size, image_batch_size)) — Las puntuaciones de producto punto escalado entretext_embeddingsyimage_embeddings, pero pasadas por las capastext_projectionyimage_projectionde FLAVA, respectivamente. Esto se calcula en imágenes y textos sin enmascarar. - mmm_image_logits (
torch.Tensorde forma(batch_size, num_image_patches, image_vocab_size)o de forma(total_masked_patches, image_vocab_size), opcional, se devuelve cuando están presentespixel_valuesyinput_ids_masked) — Los logits para la pérdida multimodal de imagen MMM. Utilizabool_masked_pospara obtener los parches enmascarados. La salida aplanada se devuelve cuandobool_masked_postiene algunos de los parches enmascarados. - mmm_text_logits (
torch.Tensorde 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 presentespixel_valuesyinput_ids_masked) — Los logits para la pérdida multimodal de texto de MMM. Se devuelve la salida aplanada cuandoinput_ids_maskedtiene 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
< source >( 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
< source >( input_ids: typing.Optional[torch.LongTensor] = Nonepixel_values: typing.Optional[torch.Tensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Nonetoken_type_ids: typing.Optional[torch.Tensor] = Nonebool_masked_pos: typing.Optional[torch.Tensor] = Noneposition_ids: typing.Optional[torch.LongTensor] = Noneimage_attention_mask: typing.Optional[torch.Tensor] = Noneskip_multimodal_encoder: bool | None = Noneoutput_attentions: bool | None = Noneoutput_hidden_states: bool = Truereturn_dict: bool | None = None**kwargs ) → FlavaModelOutput or tuple(torch.Tensor)
Parámetros
- input_ids (
torch.LongTensorde forma(batch_size, image_num_patches + text_seq_len)) — Índices 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.Tensorde 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.Tensorde 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.
- token_type_ids (
torch.LongTensorde 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]:- 0 corresponde a un token de sentence A,
- 1 corresponde a un token de sentence B. ¿Qué son los IDs de tipo de token?
- bool_masked_pos (
torch.BoolTensorde forma(batch_size, image_num_patches)) — Posiciones enmascaradas booleanas. Indica qué parches están enmascarados (1) y cuáles no (0). - position_ids (
torch.LongTensorde 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]. - image_attention_mask (
torch.Tensorde 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. Consulteattentionsen los tensores devueltos para obtener más detalles. - output_hidden_states (
bool, opcional, valor predeterminadoTrue) — Indica si se deben devolver los estados ocultos de todas las capas. Consultehidden_statesen 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
Moduledespué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.Tensorde forma(batch_size, output_dim), opcional, se devuelve cuando están presentespixel_values) — Las incrustaciones de imagen, que son básicamente la salida agrupada de FlavaImageModel. - image_output (
BaseModelOutputWithPooling, opcional, se devuelve cuando están presentespixel_values) — La salida del FlavaImageModel. - text_embeddings (
torch.Tensorde forma(batch_size, output_dim), opcional, se devuelve cuando están presentesinput_ids) — Las incrustaciones de texto, que son básicamente la salida agrupada de FlavaTextModel. - text_output (
BaseModelOutputWithPooling, opcional, se devuelve cuando están presentesinput_ids) — La salida del FlavaTextModel. - multimodal_embeddings (
torch.Tensorde forma(batch_size, output_dim), opcional, se devuelve cuandoinput_idsypixel_valuesestán presentes yskip_multimodal_encoderesNoneoFalse) — Las incrustaciones multimodales, que son básicamente la salida agrupada de FlavaTextModel. - multimodal_output (
BaseModelOutputWithPooling, devuelto cuandoinput_idsypixel_valuesestán presentes yskip_multimodal_encoderesNoneoFalse) — 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
< source >( input_ids: Tensorattention_mask: typing.Optional[torch.Tensor] = Nonetoken_type_ids: typing.Optional[torch.Tensor] = Noneposition_ids: typing.Optional[torch.Tensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → BaseModelOutputWithPooling or tuple(torch.Tensor)
Parámetros
- input_ids (
torch.LongTensorde forma(batch_size, text_seq_length)) — Índices 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.Tensorde 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.
- token_type_ids (
torch.LongTensorde 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]:- 0 corresponde a un token de sentence A,
- 1 corresponde a un token de sentence B. ¿Qué son los IDs de tipo de token?
- position_ids (
torch.Tensorde 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].
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.Tensorde forma(batch_size, sequence_length, hidden_size)) — Secuencia de estados ocultos en la salida de la última capa del modelo.pooler_output (
torch.Tensorde 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 pasaoutput_hidden_states=Trueo cuandoconfig.output_hidden_states=True) — Tupla detorch.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 pasaoutput_attentions=Trueo cuandoconfig.output_attentions=True) — Tupla detorch.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
< source >( pixel_values: Tensorbool_masked_pos: typing.Optional[torch.BoolTensor] = Noneinterpolate_pos_encoding: bool | None = Noneattention_mask: typing.Optional[torch.Tensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → BaseModelOutputWithPooling or tuple(torch.Tensor)
Parámetros
- pixel_values (
torch.Tensorde forma(batch_size, num_channels, image_size, image_size)) — 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.BoolTensorde 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.Tensorde 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.
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.Tensorde forma(batch_size, sequence_length, hidden_size)) — Secuencia de estados ocultos en la salida de la última capa del modelo.pooler_output (
torch.Tensorde 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 pasaoutput_hidden_states=Trueo cuandoconfig.output_hidden_states=True) — Tupla detorch.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 pasaoutput_attentions=Trueo cuandoconfig.output_attentions=True) — Tupla detorch.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
< source >( 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.
FlavaTextModel
clase transformers.FlavaTextModel
< source >( 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 predeterminadoTrue) — 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
< source >( input_ids: typing.Optional[torch.Tensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Nonetoken_type_ids: typing.Optional[torch.Tensor] = Noneposition_ids: typing.Optional[torch.Tensor] = Noneoutput_attentions: bool | None = Noneoutput_hidden_states: bool | None = Nonereturn_dict: bool | None = None**kwargs ) → BaseModelOutputWithPooling or tuple(torch.Tensor)
Parámetros
- input_ids (
torch.LongTensorde forma(batch_size, text_seq_length)) — Índices 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.Tensorde 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.
- token_type_ids (
torch.LongTensorde 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]:- 0 corresponde a un token de sentence A,
- 1 corresponde a un token de sentence B. ¿Qué son los IDs de tipo de token?
- position_ids (
torch.Tensorde 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]. - output_attentions (
bool, opcional) — Indica si se deben devolver los tensores de atención de todas las capas de atención. Consulteattentionsen 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. Consultehidden_statesen 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
Moduledespué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.Tensorde forma(batch_size, sequence_length, hidden_size)) — Secuencia de estados ocultos en la salida de la última capa del modelo.pooler_output (
torch.Tensorde 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 pasaoutput_hidden_states=Trueo cuandoconfig.output_hidden_states=True) — Tupla detorch.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 pasaoutput_attentions=Trueo cuandoconfig.output_attentions=True) — Tupla detorch.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
< source >( 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 predeterminadoTrue) — 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
< source >( pixel_values: typing.Optional[torch.Tensor] = Nonebool_masked_pos: typing.Optional[torch.BoolTensor] = Noneinterpolate_pos_encoding: bool | None = Noneattention_mask: typing.Optional[torch.Tensor] = Noneoutput_attentions: bool | None = Noneoutput_hidden_states: bool | None = Nonereturn_dict: bool | None = None**kwargs ) → BaseModelOutputWithPooling or tuple(torch.Tensor)
Parámetros
- pixel_values (
torch.Tensorde forma(batch_size, num_channels, image_size, image_size), opcional) — 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.BoolTensorde 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.Tensorde 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.
- output_attentions (
bool, opcional) — Indica si se deben devolver los tensores de atención de todas las capas de atención. Consulteattentionsen 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. Consultehidden_statesen 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
Moduledespué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.Tensorde forma(batch_size, sequence_length, hidden_size)) — Secuencia de estados ocultos en la salida de la última capa del modelo.pooler_output (
torch.Tensorde 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 pasaoutput_hidden_states=Trueo cuandoconfig.output_hidden_states=True) — Tupla detorch.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 pasaoutput_attentions=Trueo cuandoconfig.output_attentions=True) — Tupla detorch.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
< source >( 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 predeterminadoTrue) — 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
< source >( hidden_states: Tensorattention_mask: typing.Optional[torch.Tensor] = Noneoutput_attentions: bool | None = Noneoutput_hidden_states: bool | None = Nonereturn_dict: bool | None = None**kwargs ) → BaseModelOutputWithPooling or tuple(torch.Tensor)
Parámetros
- hidden_states (
torch.Tensorde forma(batch_size, image_num_patches + text_seq_len, hidden_size)) — Los estados ocultos concatenados de los codificadores unimodales. - attention_mask (
torch.Tensorde 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.
- output_attentions (
bool, opcional) — Indica si se deben devolver los tensores de atención de todas las capas de atención. Consulteattentionsen 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. Consultehidden_statesen 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
Moduledespué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.Tensorde forma(batch_size, sequence_length, hidden_size)) — Secuencia de estados ocultos en la salida de la última capa del modelo.pooler_output (
torch.Tensorde 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 pasaoutput_hidden_states=Trueo cuandoconfig.output_hidden_states=True) — Tupla detorch.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 pasaoutput_attentions=Trueo cuandoconfig.output_attentions=True) — Tupla detorch.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.