Transformers documentation

FLAVA

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

and get access to the augmented documentation experience

to get started

Ce modèle a été publié dans HF papers le 2021-12-08 et ajouté à Hugging Face Transformers le 2022-05-11.

FLAVA

Aperçu

Le modèle FLAVA a été proposé dans FLAVA: A Foundational Language And Vision Alignment Model par Amanpreet Singh, Ronghang Hu, Vedanuj Goswami, Guillaume Couairon, Wojciech Galuba, Marcus Rohrbach et Douwe Kiela, et a été accepté à CVPR 2022.

L’article vise à créer un modèle de fondation unique et unifié capable de fonctionner sur des tâches de vision, de langage ainsi que des tâches multimodales combinant vision et langage.

L'abstract de l'article est le suivant :

Les modèles de vision et de vision-langage de pointe reposent sur un pré-entraînement visio-linguistique à grande échelle pour obtenir de bonnes performances sur une variété de tâches en aval. En général, ces modèles sont souvent soit inter-modaux (contrastifs), soit multi-modaux (avec fusion précoce), mais rarement les deux à la fois ; et ils ciblent souvent des modalités ou des tâches spécifiques. Une direction prometteuse consisterait à utiliser un modèle universel holistique unique, en tant que « fondation », qui cible toutes les modalités à la fois — un véritable modèle de fondation pour la vision et le langage devrait exceller dans les tâches de vision, les tâches de langage, ainsi que les tâches inter- et multi-modales de vision et de langage. Nous introduisons FLAVA en tant que tel modèle et démontrons des performances impressionnantes sur une large gamme de 35 tâches couvrant ces modalités cibles.

Ce modèle a été contribué par aps. Le code d'origine peut être trouvé ici.

FlavaConfig

classe transformers.FlavaConfig

< >

( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Noneimage_config: dict[str, typing.Any] | transformers.configuration_utils.PreTrainedConfig | None = Nonetext_config: dict[str, typing.Any] | transformers.configuration_utils.PreTrainedConfig | None = Nonemultimodal_config: dict[str, typing.Any] | transformers.configuration_utils.PreTrainedConfig | None = Noneimage_codebook_config: dict[str, typing.Any] | transformers.configuration_utils.PreTrainedConfig | None = Nonehidden_size: int = 768layer_norm_eps: float = 1e-12projection_dim: int = 768init_codebook: bool = Truelogit_scale_init_value: float = 2.6592initializer_range: float = 0.02ce_ignore_index: int = -100mim_weight: float = 1.0mlm_weight: float = 1.0global_contrastive_weight: float = 1.0itm_weight: float = 1.0mmm_image_weight: float = 1.0mmm_text_weight: float = 1.0global_backprop_contrastive: bool = Trueskip_unmasked_multimodal_encoder: bool = Truereturn_loss: bool = Truetie_word_embeddings: bool = Trueinitializer_factor: float = 1.0 )

Paramètres

  • image_config (dict, facultatif) — Dictionnaire des options de configuration utilisées pour initialiser FlavaImageConfig.
  • text_config (Union[dict[str, Any], ~configuration_utils.PreTrainedConfig], facultatif) — L’objet de configuration ou le dictionnaire du backbone de texte.
  • multimodal_config (dict, facultatif) — Dictionnaire des options de configuration utilisées pour initialiser FlavaMultimodalConfig.
  • image_codebook_config (dict, facultatif) — Dictionnaire des options de configuration utilisées pour initialiser FlavaCodebookConfig.
  • hidden_size (int, facultatif, par défaut 768) — Dimension des représentations cachées.
  • layer_norm_eps (float, facultatif, valeur par défaut 1e-12) — L'épsilon utilisé par les couches de normalisation de couche.
  • projection_dim (int, facultatif, par défaut 768) — Dimension des couches de projection du texte et de la vision.
  • init_codebook (bool, facultatif, par défaut True) — Indique s'il faut initialiser le codebook
  • logit_scale_init_value (float, facultatif, valeur par défaut 2.6592) — La valeur initiale du paramètre logit_scale. La valeur par défaut est utilisée conformément à l'implémentation originale de FLAVA/CLIP.
  • initializer_range (float, facultatif, par défaut 0.02) — L'écart-type de la truncated_normal_initializer utilisé pour initialiser toutes les matrices de poids.
  • ce_ignore_index (int, facultatif, valeur par défaut -100) — Index de l'entropie croisée à ignorer.
  • mim_weight (float, facultatif, valeur par défaut 1.0) — Poids à attribuer à la perte unimodale MIM (Masked Image Modeling)
  • mlm_weight (float, facultatif, valeur par défaut 1.0) — Poids à attribuer à la perte unimodale de MLM (Masked Language Modeling)
  • global_contrastive_weight (float, facultatif, valeur par défaut 1.0) — Poids à attribuer à la perte d'alignement croisé contrastif global.
  • itm_weight (float, facultatif, valeur par défaut 1.0) — Poids à attribuer à la perte multimodale de correspondance image-texte.
  • mmm_image_weight (float, facultatif, valeur par défaut 1.0) — Poids à attribuer à la partie image de la perte MMM.
  • mmm_text_weight (float, facultatif, valeur par défaut 1.0) — Poids à attribuer à la partie texte de la perte MMM.
  • global_backprop_contrastive (bool, facultatif, par défaut True) — Indique s'il faut utiliser la rétropropagation globale à travers tous les workers dans la perte contrastive.
  • skip_unmasked_multimodal_encoder (bool, facultatif, valeur par défaut True) — Indique s'il faut ignorer l'exécution de l'encodeur multimodal non masqué dont les sorties ne sont pas utilisées par les pertes FLAVA.
  • return_loss (bool, facultatif, par défaut True) — Indique s'il faut renvoyer la perte ou non
  • tie_word_embeddings (bool, facultatif, par défaut True) — Indique s'il faut lier les embeddings de poids selon la correspondance tied_weights_keys du modèle.
  • initializer_factor (float, facultatif, par défaut 1.0) — Un facteur pour l'initialisation de toutes les matrices de poids (doit être maintenu à 1, utilisé en interne pour les tests d'initialisation).

Ceci est la classe de configuration destinée à stocker la configuration d'un FlavaModel. Elle est utilisée pour instancier un modèle Flava en fonction des arguments spécifiés, définissant ainsi l'architecture du modèle. L'instanciation d'une configuration avec les valeurs par défaut produira une configuration similaire à celle de facebook/flava-full

Les objets de configuration héritent de PreTrainedConfig et peuvent être utilisés pour contrôler les sorties du modèle. Consultez la documentation de PreTrainedConfig pour plus d’informations.

Exemple :

>>> from transformers import FlavaConfig, FlavaModel, FlavaForPreTraining

>>> # Initializing a FlavaConfig with style configuration
>>> configuration = FlavaConfig()

>>> # Initializing a FlavaModel and FlavaForPreTraining model (with random weights) from the style configuration
>>> model = FlavaModel(configuration)
>>> model_pre = FlavaForPreTraining(configuration)

>>> # Accessing the model configuration
>>> configuration = model.config
>>> configuration_pre = model_pre.config

FlavaTextConfig

classe transformers.FlavaTextConfig

< >

( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Nonevocab_size: int = 30522type_vocab_size: int = 2max_position_embeddings: int = 512hidden_size: int = 768num_hidden_layers: int = 12num_attention_heads: int = 12intermediate_size: int = 3072hidden_act: str = 'gelu'hidden_dropout_prob: float | int = 0.0attention_probs_dropout_prob: float | int = 0.0initializer_range: float = 0.02layer_norm_eps: float = 1e-12pad_token_id: int | None = 0qkv_bias: bool = True )

Paramètres

  • vocab_size (int, facultatif, par défaut 30522) — Taille du vocabulaire du modèle. Définit le nombre de jetons différents qui peuvent être représentés par input_ids.
  • type_vocab_size (int, facultatif, par défaut 2) — La taille du vocabulaire des token_type_ids.
  • max_position_embeddings (int, facultatif, par défaut 512) — La longueur de séquence maximale avec laquelle ce modèle pourrait être utilisé.
  • hidden_size (int, facultatif, par défaut 768) — Dimension des représentations cachées.
  • num_hidden_layers (int, facultatif, par défaut 12) — Nombre de couches cachées dans le décodeur Transformer.
  • num_attention_heads (int, facultatif, valeur par défaut 12) — Nombre de têtes d'attention pour chaque couche d'attention du décodeur Transformer.
  • intermediate_size (int, facultatif, par défaut 3072) — Dimension des représentations du MLP.
  • hidden_act (str, facultatif, par défaut gelu) — La fonction d'activation non linéaire (fonction ou chaîne de caractères) du décodeur. Par exemple, "gelu", "relu", "silu", etc.
  • hidden_dropout_prob (Union[float, int], facultatif, par défaut 0.0) — La probabilité de dropout pour toutes les couches entièrement connectées des embeddings, de l'encodeur et du pooler.
  • attention_probs_dropout_prob (Union[float, int], facultatif, par défaut 0.0) — Le taux de dropout appliqué aux probabilités d'attention.
  • initializer_range (float, facultatif, par défaut 0.02) — L'écart-type de la truncated_normal_initializer utilisé pour initialiser toutes les matrices de poids.
  • layer_norm_eps (float, facultatif, valeur par défaut 1e-12) — L'épsilon utilisé par les couches de normalisation de couche.
  • pad_token_id (int, facultatif, par défaut 0) — Identifiant du jeton utilisé pour le bourrage dans le vocabulaire.
  • qkv_bias (bool, facultatif, par défaut True) — Indique s'il faut ajouter un biais aux requêtes, clés et valeurs.

Ceci est la classe de configuration destinée à stocker la configuration d'un FlavaModel. Elle est utilisée pour instancier un modèle Flava en fonction des arguments spécifiés, définissant ainsi l'architecture du modèle. L'instanciation d'une configuration avec les valeurs par défaut produira une configuration similaire à celle de facebook/flava-full

Les objets de configuration héritent de PreTrainedConfig et peuvent être utilisés pour contrôler les sorties du modèle. Consultez la documentation de PreTrainedConfig pour plus d’informations.

Exemple :

>>> from transformers import FlavaTextConfig, FlavaTextModel

>>> # Initializing a FlavaTextModel with  style configuration
>>> configuration = FlavaTextConfig()

>>> # Initializing a FlavaTextModel model (with random weights) from the style configuration
>>> model = FlavaTextModel(configuration)

>>> # Accessing the model configuration
>>> configuration = model.config

FlavaImageConfig

classe transformers.FlavaImageConfig

< >

( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Nonehidden_size: int = 768num_hidden_layers: int = 12num_attention_heads: int = 12intermediate_size: int = 3072hidden_act: str = 'gelu'hidden_dropout_prob: float | int = 0.0attention_probs_dropout_prob: float | int = 0.0initializer_range: float = 0.02layer_norm_eps: float = 1e-12image_size: int | list[int] | tuple[int, int] = 224patch_size: int | list[int] | tuple[int, int] = 16num_channels: int = 3qkv_bias: bool = Truemask_token: bool = Truevocab_size: int = 8192 )

Paramètres

  • hidden_size (int, facultatif, par défaut 768) — Dimension des représentations cachées.
  • num_hidden_layers (int, facultatif, par défaut 12) — Nombre de couches cachées dans le décodeur Transformer.
  • num_attention_heads (int, facultatif, valeur par défaut 12) — Nombre de têtes d'attention pour chaque couche d'attention du décodeur Transformer.
  • intermediate_size (int, facultatif, par défaut 3072) — Dimension des représentations du MLP.
  • hidden_act (str, facultatif, par défaut gelu) — La fonction d'activation non linéaire (fonction ou chaîne de caractères) du décodeur. Par exemple, "gelu", "relu", "silu", etc.
  • hidden_dropout_prob (Union[float, int], facultatif, par défaut 0.0) — La probabilité de dropout pour toutes les couches entièrement connectées des embeddings, de l'encodeur et du pooler.
  • attention_probs_dropout_prob (Union[float, int], facultatif, par défaut 0.0) — Le taux de dropout appliqué aux probabilités d'attention.
  • initializer_range (float, facultatif, par défaut 0.02) — L'écart-type de la truncated_normal_initializer utilisé pour initialiser toutes les matrices de poids.
  • layer_norm_eps (float, facultatif, valeur par défaut 1e-12) — L'épsilon utilisé par les couches de normalisation de couche.
  • image_size (Union[int, list[int], tuple[int, int]], facultatif, par défaut 224) — La taille (résolution) de chaque image.
  • patch_size (Union[int, list[int], tuple[int, int]], facultatif, par défaut 16) — La taille (résolution) de chaque patch.
  • num_channels (int, facultatif, par défaut 3) — Le nombre de canaux d'entrée.
  • qkv_bias (bool, facultatif, par défaut True) — Indique s'il faut ajouter un biais aux requêtes, clés et valeurs.
  • mask_token (bool, facultatif, par défaut True) — Indique s'il faut utiliser un jeton de masquage ou non. Utilisé dans la perte MIM (Masked Image Modeling) pour FLAVA.
  • vocab_size (int, facultatif, par défaut 8192) — Taille du vocabulaire du modèle. Définit le nombre de jetons différents qui peuvent être représentés par input_ids.

Ceci est la classe de configuration destinée à stocker la configuration d'un FlavaModel. Elle est utilisée pour instancier un modèle Flava en fonction des arguments spécifiés, définissant ainsi l'architecture du modèle. L'instanciation d'une configuration avec les valeurs par défaut produira une configuration similaire à celle de facebook/flava-full

Les objets de configuration héritent de PreTrainedConfig et peuvent être utilisés pour contrôler les sorties du modèle. Consultez la documentation de PreTrainedConfig pour plus d’informations.

Exemple :

>>> from transformers import FlavaImageConfig, FlavaImageModel

>>> # Initializing a FlavaImageModel with  style configuration
>>> configuration = FlavaImageConfig()

>>> # Initializing a FlavaImageModel model (with random weights) from the style configuration
>>> model = FlavaImageModel(configuration)

>>> # Accessing the model configuration
>>> configuration = model.config

FlavaMultimodalConfig

classe transformers.FlavaMultimodalConfig

< >

( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Nonehidden_size: int = 768num_hidden_layers: int = 6num_attention_heads: int = 12intermediate_size: int = 3072hidden_act: str = 'gelu'hidden_dropout_prob: float | int = 0.0attention_probs_dropout_prob: float | int = 0.0initializer_range: float = 0.02layer_norm_eps: float = 1e-12qkv_bias: bool = Trueuse_cls_token: bool = True )

Paramètres

  • hidden_size (int, facultatif, par défaut 768) — Dimension des représentations cachées.
  • num_hidden_layers (int, facultatif, par défaut 6) — Nombre de couches cachées dans le décodeur Transformer.
  • num_attention_heads (int, facultatif, valeur par défaut 12) — Nombre de têtes d'attention pour chaque couche d'attention du décodeur Transformer.
  • intermediate_size (int, facultatif, par défaut 3072) — Dimension des représentations du MLP.
  • hidden_act (str, facultatif, par défaut gelu) — La fonction d'activation non linéaire (fonction ou chaîne de caractères) du décodeur. Par exemple, "gelu", "relu", "silu", etc.
  • hidden_dropout_prob (Union[float, int], facultatif, par défaut 0.0) — La probabilité de dropout pour toutes les couches entièrement connectées des embeddings, de l'encodeur et du pooler.
  • attention_probs_dropout_prob (Union[float, int], facultatif, par défaut 0.0) — Le taux de dropout appliqué aux probabilités d'attention.
  • initializer_range (float, facultatif, par défaut 0.02) — L'écart-type de la truncated_normal_initializer utilisé pour initialiser toutes les matrices de poids.
  • layer_norm_eps (float, facultatif, valeur par défaut 1e-12) — L'épsilon utilisé par les couches de normalisation de couche.
  • qkv_bias (bool, facultatif, par défaut True) — Indique s'il faut ajouter un biais aux requêtes, clés et valeurs.
  • use_cls_token (bool, facultatif, par défaut True) — Indique s'il faut utiliser un jeton CLS supplémentaire pour les configurations multimodales. Généralement requis par le modèle FLAVA.

Ceci est la classe de configuration destinée à stocker la configuration d'un FlavaModel. Elle est utilisée pour instancier un modèle Flava en fonction des arguments spécifiés, définissant ainsi l'architecture du modèle. L'instanciation d'une configuration avec les valeurs par défaut produira une configuration similaire à celle de facebook/flava-full

Les objets de configuration héritent de PreTrainedConfig et peuvent être utilisés pour contrôler les sorties du modèle. Consultez la documentation de PreTrainedConfig pour plus d’informations.

Exemple :

>>> from transformers import FlavaMultimodalConfig, FlavaMultimodalModel

>>> # Initializing a FlavaMultimodalModel with  style configuration
>>> configuration = FlavaMultimodalConfig()

>>> # Initializing a FlavaMultimodalModel model (with random weights) from the style configuration
>>> model = FlavaMultimodalModel(configuration)

>>> # Accessing the model configuration
>>> configuration = model.config

FlavaImageCodebookConfig

classe transformers.FlavaImageCodebookConfig

< >

( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Nonenum_groups: int = 4input_channels: int = 3num_blocks_per_group: int = 2hidden_size: int = 256vocab_size: int = 8192freeze: bool = Trueinitializer_range: float = 0.02 )

Paramètres

  • num_groups (int, facultatif, valeur par défaut 4) — Nombre de groupes à créer. Ce paramètre n’affecte pas le modèle pour le moment et est utilisé pour certains calculs et estimations internes.
  • input_channels (int, facultatif, par défaut 3) — Le nombre de canaux d'entrée.
  • num_blocks_per_group (int, facultatif, valeur par défaut 2) — Nombre de blocs basés sur des convolutions par groupe.
  • hidden_size (int, facultatif, par défaut 256) — Dimension des représentations cachées.
  • vocab_size (int, facultatif, par défaut 8192) — Taille du vocabulaire du modèle. Définit le nombre de jetons différents qui peuvent être représentés par input_ids.
  • freeze (bool, par défaut True) — Indique s'il faut geler les poids du modèle.
  • initializer_range (float, facultatif, par défaut 0.02) — L'écart-type de la truncated_normal_initializer utilisé pour initialiser toutes les matrices de poids.

Ceci est la classe de configuration destinée à stocker la configuration d'un FlavaModel. Elle est utilisée pour instancier un modèle Flava en fonction des arguments spécifiés, définissant ainsi l'architecture du modèle. L'instanciation d'une configuration avec les valeurs par défaut produira une configuration similaire à celle de facebook/flava-full

Les objets de configuration héritent de PreTrainedConfig et peuvent être utilisés pour contrôler les sorties du modèle. Consultez la documentation de PreTrainedConfig pour plus d’informations.

Exemple :

>>> from transformers import FlavaImageCodebookConfig, FlavaImageCodebook

>>> # Initializing a FlavaImageCodebook with style configuration
>>> configuration = FlavaImageCodebookConfig()

>>> # Initializing a FlavaImageCodebook model (with random weights) from the style configuration
>>> model = FlavaImageCodebook(configuration)
>>> # Accessing the model configuration
>>> configuration = model.config

FlavaProcessor

classe transformers.FlavaProcessor

< >

( image_processor = Nonetokenizer = None**kwargs )

Paramètres

  • image_processor (FlavaImageProcessor) — Le processeur d’images est une entrée obligatoire.
  • tokenizer (BertTokenizer) — Le tokenizer est une entrée obligatoire.

Construit un FlavaProcessor qui encapsule un processeur d’images et un tokenizer en un seul processeur.

FlavaProcessor offre toutes les fonctionnalités de FlavaImageProcessor et de BertTokenizer. Consultez ~FlavaImageProcessor et ~BertTokenizer pour plus d’informations.

__call__

< >

( images: typing.Union[ForwardRef('PIL.Image.Image'), numpy.ndarray, ForwardRef('torch.Tensor'), list['PIL.Image.Image'], list[numpy.ndarray], list['torch.Tensor'], NoneType] = Nonetext: str | list[str] | list[list[str]] | None = Nonevideos: typing.Union[list['PIL.Image.Image'], numpy.ndarray, ForwardRef('torch.Tensor'), list[numpy.ndarray], list['torch.Tensor'], list[list['PIL.Image.Image']], list[list[numpy.ndarray]], list[list['torch.Tensor']], transformers.video_utils.URL, list[transformers.video_utils.URL], list[list[transformers.video_utils.URL]], transformers.video_utils.Path, list[transformers.video_utils.Path], list[list[transformers.video_utils.Path]], NoneType] = Noneaudio: typing.Union[numpy.ndarray, ForwardRef('torch.Tensor'), collections.abc.Sequence[numpy.ndarray], collections.abc.Sequence['torch.Tensor'], NoneType] = None**kwargs: *<class 'transformers.processing_utils.ProcessingKwargs'> )

Paramètres

  • images (Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]], facultatif) — Image à prétraiter. S'attend à une image unique ou à un lot d'images dont les valeurs de pixels vont de 0 à 255. Si vous passez des images dont les valeurs de pixels sont comprises entre 0 et 1, définissez do_rescale=False.
  • text (Union[str, list[str], list[list[str]]], facultatif) — La séquence ou le lot de séquences à encoder. Chaque séquence peut être une chaîne de caractères ou une liste de chaînes de caractères (chaînes pré-tokenisées). Si vous passez une entrée pré-tokenisée, définissez is_split_into_words=True pour éviter toute ambiguïté avec les entrées en lot.
  • 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]]], facultatif) — Vidéo à prétraiter. S’attend à une vidéo unique ou à un lot de vidéos dont les valeurs de pixels vont de 0 à 255. Si vous passez des vidéos dont les valeurs de pixels sont comprises entre 0 et 1, définissez do_rescale=False.
  • audio (Union[numpy.ndarray, torch.Tensor, collections.abc.Sequence[numpy.ndarray], collections.abc.Sequence[torch.Tensor]], facultatif) — L’audio ou le lot d’audios à préparer. Chaque audio peut être un tableau NumPy ou un tenseur PyTorch. Dans le cas d’un tableau NumPy/tenseur PyTorch, chaque audio doit avoir la forme (C, T), où C est le nombre de canaux et T est la longueur d’échantillonnage de l’audio.
  • return_tensors (str ou TensorType, facultatif) — Si défini, renvoie des tenseurs d'un framework particulier. Les valeurs acceptées sont :
    • 'pt' : Renvoie des objets torch.Tensor de PyTorch.
    • 'np' : Renvoie des objets NumPy np.ndarray.
  • **kwargs (ProcessingKwargs, facultatif) — Options de traitement supplémentaires pour chaque modalité (texte, images, vidéos, audio). Les paramètres spécifiques au modèle sont répertoriés ci-dessus ; consultez la classe TypedDict pour la liste complète des arguments pris en charge.

FlavaImageProcessor

classe transformers.FlavaImageProcessor

< >

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

Paramètres

  • do_convert_rgb (bool, kwargs, facultatif) — Indique s'il faut convertir l'image en RGB.
  • do_resize (bool, kwargs, facultatif, valeur par défaut True) — Indique s'il faut redimensionner l'image.
  • size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs, par défaut {'height' -- 224, 'width': 224}) : Définit les dimensions maximales de l'entrée du modèle.
  • default_to_square (bool, kwargs, facultatif, valeur par défaut True) — Indique s'il faut utiliser une image carrée par défaut lors du redimensionnement, si la taille est un entier.
  • crop_size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs, par défaut {'height' -- 224, 'width': 224}) : Taille de l'image de sortie après application de center_crop.
  • resample (Annotated[Union[int, PILImageResampling, NoneType], None], kwargs, par défaut 3) — Filtre de rééchantillonnage à utiliser lors du redimensionnement de l’image. Il peut s’agir de l’une des valeurs de l’enum PILImageResampling. N’a un effet que si do_resize est défini sur True.
  • do_rescale (bool, kwargs, facultatif, par défaut True) — Indique s'il faut rééchelonner l'image.
  • rescale_factor (float, kwargs, facultatif, valeur par défaut 0.00392156862745098) — Facteur de remise à l'échelle appliqué à l'image si do_rescale est défini sur True.
  • do_normalize (bool, kwargs, facultatif, valeur par défaut True) — Indique s'il faut normaliser l'image.
  • image_mean (Union[float, list[float], tuple[float, ...]], kwargs, facultatif, valeur par défaut [0.48145466, 0.4578275, 0.40821073]) — Moyenne de l'image à utiliser pour la normalisation. N'a un effet que si do_normalize est défini sur True.
  • image_std (Union[float, list[float], tuple[float, ...]], kwargs, facultatif, valeur par défaut [0.26862954, 0.26130258, 0.27577711]) — Écart-type de l'image à utiliser pour la normalisation. N'a un effet que si do_normalize est défini sur True.
  • do_pad (bool, kwargs, facultatif) — Indique s'il faut effectuer un bourrage (padding) de l'image. Le bourrage est effectué soit jusqu'à la plus grande taille du lot, soit jusqu'à une taille carrée fixe par image. La stratégie de bourrage exacte dépend du modèle.
  • pad_size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — La taille au format {"height": int, "width" int} à laquelle les images doivent être remplies. Elle doit être supérieure à la taille de n'importe quelle image fournie pour la prétraitement. Si pad_size n'est pas fourni, les images seront remplies jusqu'à la hauteur et la largeur maximales du lot. Appliqué uniquement lorsque do_pad=True.
  • do_center_crop (bool, kwargs, facultatif, valeur par défaut True) — Indique s'il faut effectuer un recadrage centré de l'image.
  • data_format (Union[str, ~image_utils.ChannelDimension], kwargs, facultatif) — Seul ChannelDimension.FIRST est pris en charge. Ajouté pour la compatibilité avec les processeurs lents.
  • input_data_format (Union[str, ~image_utils.ChannelDimension], kwargs, facultatif) — Le format de la dimension des canaux pour l'image d'entrée. Si non défini, le format de la dimension des canaux est déduit de l'image d'entrée. Peut être l'un des éléments suivants :
    • "channels_first" ou ChannelDimension.FIRST : image au format (num_channels, height, width).
    • "channels_last" ou ChannelDimension.LAST : image au format (hauteur, largeur, nombre de canaux).
    • "none" ou ChannelDimension.NONE : image au format (hauteur, largeur).
  • device (Annotated[Union[str, torch.device, NoneType], None], kwargs) — L’appareil sur lequel traiter les vidéos. Si non défini, l’appareil est déduit des vidéos d’entrée.
  • return_tensors (Annotated[str | ~utils.generic.TensorType | None, None], kwargs) — Retourne des tenseurs empilés si défini sur 'pt', sinon retourne une liste de tenseurs.
  • disable_grouping (bool, kwargs, facultatif) — Indique s'il faut désactiver le regroupement des images par taille afin de les traiter individuellement plutôt que par lots. Si la valeur est None, elle est définie sur True si les images sont sur CPU, et sur False dans le cas contraire. Ce choix repose sur des observations empiriques, comme détaillé ici : https://github.com/huggingface/transformers/pull/38157
  • image_seq_length (int, kwargs, facultatif) — Le nombre de jetons d’image à utiliser pour chaque image de l’entrée. Ajouté pour la compatibilité ascendante, mais cela devrait être défini comme un attribut du processeur dans les futurs modèles.
  • return_image_mask (bool, kwargs, facultatif, valeur par défaut False) — Indique s'il faut retourner le masque d'image. Peut être remplacé par le paramètre return_image_mask dans preprocess.
  • input_size_patches (int, kwargs, facultatif, valeur par défaut 14) — Nombre de patches dans l'image dans les directions de la hauteur et de la largeur. 14x14 = 196 patches au total. Peut être remplacé par le paramètre input_size_patches dans preprocess.
  • total_mask_patches (int, kwargs, facultatif, valeur par défaut 75) — Nombre total de patches qui doivent être masqués. Peut être remplacé par le paramètre total_mask_patches dans preprocess.
  • mask_group_min_patches (int, kwargs, facultatif, valeur par défaut 16) — Nombre minimal de patches qui doivent être masqués. Peut être remplacé par le paramètre mask_group_min_patches de preprocess.
  • mask_group_max_patches (int, kwargs, facultatif) — Nombre maximal de patches qui doivent être masqués. Peut être remplacé par le paramètre mask_group_max_patches de preprocess.
  • mask_group_min_aspect_ratio (float, kwargs, facultatif, valeur par défaut 0.3) — Ratio d’aspect minimal de la fenêtre de masque. Peut être remplacé par le paramètre mask_group_min_aspect_ratio dans preprocess.
  • mask_group_max_aspect_ratio (float, kwargs, facultatif) — Ratio d’aspect maximal de la fenêtre de masque. Peut être remplacé par le paramètre mask_group_max_aspect_ratio dans preprocess.
  • return_codebook_pixels (bool, kwargs, facultatif, par défaut False) — Indique s'il faut renvoyer les valeurs de pixels du codebook.
  • codebook_do_resize (bool, kwargs, facultatif, valeur par défaut True) — Indique s'il faut redimensionner l'entrée du codebook à une certaine taille. Peut être remplacé par le paramètre codebook_do_resize de preprocess. codebook_size.
  • codebook_size (dict[str, *kwargs*, int], facultatif, par défaut {"height" -- 224, "width": 224}) : Redimensionne l'entrée du codebook à la taille donnée. Peut être remplacé par le paramètre codebook_size dans preprocess.
  • codebook_resample (PILImageResampling, kwargs, optionnel, par défaut PILImageResampling.LANCZOS) — Filtre de rééchantillonnage à utiliser lors du redimensionnement de l’image du codebook. Avec torchvision < 0.27, LANCZOS n’est pas pris en charge pour les Tensors torch et BICUBIC est utilisé comme alternative la plus proche. Peut être remplacé par le paramètre codebook_resample dans preprocess.
  • codebook_do_center_crop (bool, kwargs, facultatif, valeur par défaut True) — Indique s'il faut recadrer l'entrée pour le codebook au centre. Si la taille de l'entrée est inférieure à codebook_crop_size le long d'un des bords, l'image est rembourrée avec des 0 puis recadrée au centre. Peut être remplacé par le paramètre codebook_do_center_crop dans preprocess.
  • codebook_crop_size (dict[str, *kwargs*, int], facultatif, par défaut {"height" -- 224, "width": 224}) : Taille de sortie souhaitée pour l'entrée du codebook lors de l'application d'un recadrage centré. Peut être remplacé par le paramètre codebook_crop_size dans preprocess.
  • codebook_do_rescale (bool, kwargs, facultatif, valeur par défaut True) — Indique s'il faut rééchelonner l'entrée pour le codebook par l'échelle spécifiée codebook_rescale_factor. Peut être remplacé par le paramètre codebook_do_rescale dans preprocess.
  • codebook_rescale_factor (int, kwargs ou float, facultatif, valeur par défaut 1/255) — Définit le facteur d’échelle à utiliser lors du redimensionnement de l’image du codebook. Peut être remplacé par le paramètre codebook_rescale_factor dans preprocess.
  • codebook_do_map_pixels (bool, kwargs, facultatif, valeur par défaut True) — Indique s'il faut mapper les valeurs de pixels de l'entrée du codebook sur (1 - 2e)x + e. Peut être remplacé par le paramètre codebook_do_map_pixels dans preprocess.
  • codebook_do_normalize (bool, kwargs, facultatif, valeur par défaut True) — Indique s'il faut normaliser l'entrée pour le codebook à l'aide de codebook_image_mean et codebook_image_std. Peut être remplacé par le paramètre codebook_do_normalize dans preprocess.
  • codebook_image_mean (Optional[Union[float, *kwargs*, Iterable[float]]], facultatif, valeur par défaut [0, 0, 0]) — La séquence des moyennes pour chaque canal, à utiliser lors de la normalisation des images pour le codebook. Peut être remplacée par le paramètre codebook_image_mean dans preprocess.
  • codebook_image_std (Optional[Union[float, *kwargs*, Iterable[float]]], facultatif, valeur par défaut [0.5, 0.5, 0.5]) — La séquence des écarts-types pour chaque canal, à utiliser lors de la normalisation des images pour le codebook. Peut être remplacé par le paramètre codebook_image_std dans preprocess.

Construit un processeur d’images FlavaImageProcessor.

prétraiter

< >

( 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

Paramètres

  • images (Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]]) — Image à prétraiter. S'attend à une image unique ou à un lot d'images dont les valeurs de pixels vont de 0 à 255. Si vous passez des images dont les valeurs de pixels sont comprises entre 0 et 1, définissez do_rescale=False.
  • do_convert_rgb (bool, kwargs, facultatif) — Indique s'il faut convertir l'image en RGB.
  • do_resize (bool, kwargs, facultatif) — Indique s'il faut redimensionner l'image.
  • size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — Définit les dimensions maximales des entrées du modèle.
  • default_to_square (bool, kwargs, facultatif) — Indique s'il faut par défaut redimensionner l'image en carré si la taille est un entier.
  • crop_size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — Taille de l'image de sortie après application de center_crop.
  • resample (Annotated[Union[int, PILImageResampling, NoneType], None], kwargs) — Filtre de rééchantillonnage à utiliser lors du redimensionnement de l’image. Il peut s’agir de l’une des valeurs de l’enum PILImageResampling. N’a un effet que si do_resize est défini sur True.
  • do_rescale (bool, kwargs, facultatif) — Indique s'il faut rééchelonner l'image.
  • rescale_factor (float, kwargs, facultatif) — Facteur de remise à l'échelle à appliquer à l'image si do_rescale est défini sur True.
  • do_normalize (bool, kwargs, facultatif) — Indique s'il faut normaliser l'image.
  • image_mean (Union[float, list[float], tuple[float, ...]], kwargs, facultatif) — Moyenne de l'image à utiliser pour la normalisation. N'a un effet que si do_normalize est défini sur True.
  • image_std (Union[float, list[float], tuple[float, ...]], kwargs, facultatif) — Écart-type de l'image à utiliser pour la normalisation. N'a un effet que si do_normalize est défini sur True.
  • do_pad (bool, kwargs, facultatif) — Indique s'il faut effectuer un bourrage (padding) de l'image. Le bourrage est effectué soit jusqu'à la plus grande taille du lot, soit jusqu'à une taille carrée fixe par image. La stratégie de bourrage exacte dépend du modèle.
  • pad_size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — La taille au format {"height": int, "width" int} à laquelle les images doivent être remplies. Elle doit être supérieure à la taille de n'importe quelle image fournie pour la prétraitement. Si pad_size n'est pas fourni, les images seront remplies jusqu'à la hauteur et la largeur maximales du lot. Appliqué uniquement lorsque do_pad=True.
  • do_center_crop (bool, kwargs, facultatif) — Indique s'il faut effectuer un recadrage centré de l'image.
  • data_format (Union[str, ~image_utils.ChannelDimension], kwargs, facultatif) — Seul ChannelDimension.FIRST est pris en charge. Ajouté pour la compatibilité avec les processeurs lents.
  • input_data_format (Union[str, ~image_utils.ChannelDimension], kwargs, facultatif) — Le format de la dimension des canaux pour l'image d'entrée. Si non défini, le format de la dimension des canaux est déduit de l'image d'entrée. Peut être l'un des éléments suivants :
    • "channels_first" ou ChannelDimension.FIRST : image au format (num_channels, height, width).
    • "channels_last" ou ChannelDimension.LAST : image au format (hauteur, largeur, nombre de canaux).
    • "none" ou ChannelDimension.NONE : image au format (hauteur, largeur).
  • device (Annotated[Union[str, torch.device, NoneType], None], kwargs) — L’appareil sur lequel traiter les vidéos. Si non défini, l’appareil est déduit des vidéos d’entrée.
  • return_tensors (Annotated[str | ~utils.generic.TensorType | None, None], kwargs) — Retourne des tenseurs empilés si défini sur 'pt', sinon retourne une liste de tenseurs.
  • disable_grouping (bool, kwargs, facultatif) — Indique s'il faut désactiver le regroupement des images par taille afin de les traiter individuellement plutôt que par lots. Si la valeur est None, elle est définie sur True si les images sont sur CPU, et sur False dans le cas contraire. Ce choix repose sur des observations empiriques, comme détaillé ici : https://github.com/huggingface/transformers/pull/38157
  • image_seq_length (int, kwargs, facultatif) — Le nombre de jetons d’image à utiliser pour chaque image de l’entrée. Ajouté pour la compatibilité ascendante, mais cela devrait être défini comme un attribut du processeur dans les futurs modèles.
  • return_image_mask (bool, kwargs, facultatif, valeur par défaut False) — Indique s'il faut retourner le masque d'image. Peut être remplacé par le paramètre return_image_mask dans preprocess.
  • input_size_patches (int, kwargs, facultatif, valeur par défaut 14) — Nombre de patches dans l'image dans les directions de la hauteur et de la largeur. 14x14 = 196 patches au total. Peut être remplacé par le paramètre input_size_patches dans preprocess.
  • total_mask_patches (int, kwargs, facultatif, valeur par défaut 75) — Nombre total de patches qui doivent être masqués. Peut être remplacé par le paramètre total_mask_patches dans preprocess.
  • mask_group_min_patches (int, kwargs, facultatif, valeur par défaut 16) — Nombre minimal de patches qui doivent être masqués. Peut être remplacé par le paramètre mask_group_min_patches de preprocess.
  • mask_group_max_patches (int, kwargs, facultatif) — Nombre maximal de patches qui doivent être masqués. Peut être remplacé par le paramètre mask_group_max_patches de preprocess.
  • mask_group_min_aspect_ratio (float, kwargs, facultatif, valeur par défaut 0.3) — Ratio d’aspect minimal de la fenêtre de masque. Peut être remplacé par le paramètre mask_group_min_aspect_ratio dans preprocess.
  • mask_group_max_aspect_ratio (float, kwargs, facultatif) — Ratio d’aspect maximal de la fenêtre de masque. Peut être remplacé par le paramètre mask_group_max_aspect_ratio dans preprocess.
  • return_codebook_pixels (bool, kwargs, facultatif, par défaut False) — Indique s'il faut renvoyer les valeurs de pixels du codebook.
  • codebook_do_resize (bool, kwargs, facultatif, valeur par défaut True) — Indique s'il faut redimensionner l'entrée du codebook à une certaine taille. Peut être remplacé par le paramètre codebook_do_resize de preprocess. codebook_size.
  • codebook_size (dict[str, *kwargs*, int], facultatif, par défaut {"height" -- 224, "width": 224}) : Redimensionne l'entrée du codebook à la taille donnée. Peut être remplacé par le paramètre codebook_size dans preprocess.
  • codebook_resample (PILImageResampling, kwargs, optionnel, par défaut PILImageResampling.LANCZOS) — Filtre de rééchantillonnage à utiliser lors du redimensionnement de l’image du codebook. Avec torchvision < 0.27, LANCZOS n’est pas pris en charge pour les Tensors torch et BICUBIC est utilisé comme alternative la plus proche. Peut être remplacé par le paramètre codebook_resample dans preprocess.
  • codebook_do_center_crop (bool, kwargs, facultatif, valeur par défaut True) — Indique s'il faut recadrer l'entrée pour le codebook au centre. Si la taille de l'entrée est inférieure à codebook_crop_size le long d'un des bords, l'image est rembourrée avec des 0 puis recadrée au centre. Peut être remplacé par le paramètre codebook_do_center_crop dans preprocess.
  • codebook_crop_size (dict[str, *kwargs*, int], facultatif, par défaut {"height" -- 224, "width": 224}) : Taille de sortie souhaitée pour l'entrée du codebook lors de l'application d'un recadrage centré. Peut être remplacé par le paramètre codebook_crop_size dans preprocess.
  • codebook_do_rescale (bool, kwargs, facultatif, valeur par défaut True) — Indique s'il faut rééchelonner l'entrée pour le codebook par l'échelle spécifiée codebook_rescale_factor. Peut être remplacé par le paramètre codebook_do_rescale dans preprocess.
  • codebook_rescale_factor (int, kwargs ou float, facultatif, valeur par défaut 1/255) — Définit le facteur d’échelle à utiliser lors du redimensionnement de l’image du codebook. Peut être remplacé par le paramètre codebook_rescale_factor dans preprocess.
  • codebook_do_map_pixels (bool, kwargs, facultatif, valeur par défaut True) — Indique s'il faut mapper les valeurs de pixels de l'entrée du codebook sur (1 - 2e)x + e. Peut être remplacé par le paramètre codebook_do_map_pixels dans preprocess.
  • codebook_do_normalize (bool, kwargs, facultatif, valeur par défaut True) — Indique s'il faut normaliser l'entrée pour le codebook à l'aide de codebook_image_mean et codebook_image_std. Peut être remplacé par le paramètre codebook_do_normalize dans preprocess.
  • codebook_image_mean (Optional[Union[float, *kwargs*, Iterable[float]]], facultatif, valeur par défaut [0, 0, 0]) — La séquence des moyennes pour chaque canal, à utiliser lors de la normalisation des images pour le codebook. Peut être remplacée par le paramètre codebook_image_mean dans preprocess.
  • codebook_image_std (Optional[Union[float, *kwargs*, Iterable[float]]], facultatif, valeur par défaut [0.5, 0.5, 0.5]) — La séquence des écarts-types pour chaque canal, à utiliser lors de la normalisation des images pour le codebook. Peut être remplacé par le paramètre codebook_image_std dans preprocess.

Retourne

~image_processing_base.BatchFeature

  • data (dict) — Dictionnaire de listes/tableaux/tenseurs renvoyé par la méthode call (« pixel_values », etc.).
  • tensor_type (Union[None, str, TensorType], facultatif) — Vous pouvez spécifier un tensor_type ici pour convertir les listes d'entiers en tenseurs PyTorch/Numpy lors de l'initialisation.

FlavaImageProcessorPil

classe transformers.FlavaImageProcessorPil

< >

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

Paramètres

  • do_convert_rgb (bool, kwargs, facultatif) — Indique s'il faut convertir l'image en RGB.
  • do_resize (bool, kwargs, facultatif, valeur par défaut True) — Indique s'il faut redimensionner l'image.
  • size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs, par défaut {'height' -- 224, 'width': 224}) : Définit les dimensions maximales de l'entrée du modèle.
  • default_to_square (bool, kwargs, facultatif, valeur par défaut True) — Indique s'il faut utiliser une image carrée par défaut lors du redimensionnement, si la taille est un entier.
  • crop_size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs, par défaut {'height' -- 224, 'width': 224}) : Taille de l'image de sortie après application de center_crop.
  • resample (Annotated[Union[int, PILImageResampling, NoneType], None], kwargs, par défaut 3) — Filtre de rééchantillonnage à utiliser lors du redimensionnement de l’image. Il peut s’agir de l’une des valeurs de l’enum PILImageResampling. N’a un effet que si do_resize est défini sur True.
  • do_rescale (bool, kwargs, facultatif, par défaut True) — Indique s'il faut rééchelonner l'image.
  • rescale_factor (float, kwargs, facultatif, valeur par défaut 0.00392156862745098) — Facteur de remise à l'échelle appliqué à l'image si do_rescale est défini sur True.
  • do_normalize (bool, kwargs, facultatif, valeur par défaut True) — Indique s'il faut normaliser l'image.
  • image_mean (Union[float, list[float], tuple[float, ...]], kwargs, facultatif, valeur par défaut [0.48145466, 0.4578275, 0.40821073]) — Moyenne de l'image à utiliser pour la normalisation. N'a un effet que si do_normalize est défini sur True.
  • image_std (Union[float, list[float], tuple[float, ...]], kwargs, facultatif, valeur par défaut [0.26862954, 0.26130258, 0.27577711]) — Écart-type de l'image à utiliser pour la normalisation. N'a un effet que si do_normalize est défini sur True.
  • do_pad (bool, kwargs, facultatif) — Indique s'il faut effectuer un bourrage (padding) de l'image. Le bourrage est effectué soit jusqu'à la plus grande taille du lot, soit jusqu'à une taille carrée fixe par image. La stratégie de bourrage exacte dépend du modèle.
  • pad_size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — La taille au format {"height": int, "width" int} à laquelle les images doivent être remplies. Elle doit être supérieure à la taille de n'importe quelle image fournie pour la prétraitement. Si pad_size n'est pas fourni, les images seront remplies jusqu'à la hauteur et la largeur maximales du lot. Appliqué uniquement lorsque do_pad=True.
  • do_center_crop (bool, kwargs, facultatif, valeur par défaut True) — Indique s'il faut effectuer un recadrage centré de l'image.
  • data_format (Union[str, ~image_utils.ChannelDimension], kwargs, facultatif) — Seul ChannelDimension.FIRST est pris en charge. Ajouté pour la compatibilité avec les processeurs lents.
  • input_data_format (Union[str, ~image_utils.ChannelDimension], kwargs, facultatif) — Le format de la dimension des canaux pour l'image d'entrée. Si non défini, le format de la dimension des canaux est déduit de l'image d'entrée. Peut être l'un des éléments suivants :
    • "channels_first" ou ChannelDimension.FIRST : image au format (num_channels, height, width).
    • "channels_last" ou ChannelDimension.LAST : image au format (hauteur, largeur, nombre de canaux).
    • "none" ou ChannelDimension.NONE : image au format (hauteur, largeur).
  • device (Annotated[Union[str, torch.device, NoneType], None], kwargs) — L’appareil sur lequel traiter les vidéos. Si non défini, l’appareil est déduit des vidéos d’entrée.
  • return_tensors (Annotated[str | ~utils.generic.TensorType | None, None], kwargs) — Retourne des tenseurs empilés si défini sur 'pt', sinon retourne une liste de tenseurs.
  • disable_grouping (bool, kwargs, facultatif) — Indique s'il faut désactiver le regroupement des images par taille afin de les traiter individuellement plutôt que par lots. Si la valeur est None, elle est définie sur True si les images sont sur CPU, et sur False dans le cas contraire. Ce choix repose sur des observations empiriques, comme détaillé ici : https://github.com/huggingface/transformers/pull/38157
  • image_seq_length (int, kwargs, facultatif) — Le nombre de jetons d’image à utiliser pour chaque image de l’entrée. Ajouté pour la compatibilité ascendante, mais cela devrait être défini comme un attribut du processeur dans les futurs modèles.
  • return_image_mask (bool, kwargs, facultatif, valeur par défaut False) — Indique s'il faut retourner le masque d'image. Peut être remplacé par le paramètre return_image_mask dans preprocess.
  • input_size_patches (int, kwargs, facultatif, valeur par défaut 14) — Nombre de patches dans l'image dans les directions de la hauteur et de la largeur. 14x14 = 196 patches au total. Peut être remplacé par le paramètre input_size_patches dans preprocess.
  • total_mask_patches (int, kwargs, facultatif, valeur par défaut 75) — Nombre total de patches qui doivent être masqués. Peut être remplacé par le paramètre total_mask_patches dans preprocess.
  • mask_group_min_patches (int, kwargs, facultatif, valeur par défaut 16) — Nombre minimal de patches qui doivent être masqués. Peut être remplacé par le paramètre mask_group_min_patches de preprocess.
  • mask_group_max_patches (int, kwargs, facultatif) — Nombre maximal de patches qui doivent être masqués. Peut être remplacé par le paramètre mask_group_max_patches de preprocess.
  • mask_group_min_aspect_ratio (float, kwargs, facultatif, valeur par défaut 0.3) — Ratio d’aspect minimal de la fenêtre de masque. Peut être remplacé par le paramètre mask_group_min_aspect_ratio dans preprocess.
  • mask_group_max_aspect_ratio (float, kwargs, facultatif) — Ratio d’aspect maximal de la fenêtre de masque. Peut être remplacé par le paramètre mask_group_max_aspect_ratio dans preprocess.
  • return_codebook_pixels (bool, kwargs, facultatif, par défaut False) — Indique s'il faut renvoyer les valeurs de pixels du codebook.
  • codebook_do_resize (bool, kwargs, facultatif, valeur par défaut True) — Indique s'il faut redimensionner l'entrée du codebook à une certaine taille. Peut être remplacé par le paramètre codebook_do_resize de preprocess. codebook_size.
  • codebook_size (dict[str, *kwargs*, int], facultatif, par défaut {"height" -- 224, "width": 224}) : Redimensionne l'entrée du codebook à la taille donnée. Peut être remplacé par le paramètre codebook_size dans preprocess.
  • codebook_resample (PILImageResampling, kwargs, optionnel, par défaut PILImageResampling.LANCZOS) — Filtre de rééchantillonnage à utiliser lors du redimensionnement de l’image du codebook. Avec torchvision < 0.27, LANCZOS n’est pas pris en charge pour les Tensors torch et BICUBIC est utilisé comme alternative la plus proche. Peut être remplacé par le paramètre codebook_resample dans preprocess.
  • codebook_do_center_crop (bool, kwargs, facultatif, valeur par défaut True) — Indique s'il faut recadrer l'entrée pour le codebook au centre. Si la taille de l'entrée est inférieure à codebook_crop_size le long d'un des bords, l'image est rembourrée avec des 0 puis recadrée au centre. Peut être remplacé par le paramètre codebook_do_center_crop dans preprocess.
  • codebook_crop_size (dict[str, *kwargs*, int], facultatif, par défaut {"height" -- 224, "width": 224}) : Taille de sortie souhaitée pour l'entrée du codebook lors de l'application d'un recadrage centré. Peut être remplacé par le paramètre codebook_crop_size dans preprocess.
  • codebook_do_rescale (bool, kwargs, facultatif, valeur par défaut True) — Indique s'il faut rééchelonner l'entrée pour le codebook par l'échelle spécifiée codebook_rescale_factor. Peut être remplacé par le paramètre codebook_do_rescale dans preprocess.
  • codebook_rescale_factor (int, kwargs ou float, facultatif, valeur par défaut 1/255) — Définit le facteur d’échelle à utiliser lors du redimensionnement de l’image du codebook. Peut être remplacé par le paramètre codebook_rescale_factor dans preprocess.
  • codebook_do_map_pixels (bool, kwargs, facultatif, valeur par défaut True) — Indique s'il faut mapper les valeurs de pixels de l'entrée du codebook sur (1 - 2e)x + e. Peut être remplacé par le paramètre codebook_do_map_pixels dans preprocess.
  • codebook_do_normalize (bool, kwargs, facultatif, valeur par défaut True) — Indique s'il faut normaliser l'entrée pour le codebook à l'aide de codebook_image_mean et codebook_image_std. Peut être remplacé par le paramètre codebook_do_normalize dans preprocess.
  • codebook_image_mean (Optional[Union[float, *kwargs*, Iterable[float]]], facultatif, valeur par défaut [0, 0, 0]) — La séquence des moyennes pour chaque canal, à utiliser lors de la normalisation des images pour le codebook. Peut être remplacée par le paramètre codebook_image_mean dans preprocess.
  • codebook_image_std (Optional[Union[float, *kwargs*, Iterable[float]]], facultatif, valeur par défaut [0.5, 0.5, 0.5]) — La séquence des écarts-types pour chaque canal, à utiliser lors de la normalisation des images pour le codebook. Peut être remplacé par le paramètre codebook_image_std dans preprocess.

Construit un processeur d’images FlavaImageProcessor.

prétraiter

< >

( 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

Paramètres

  • images (Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]]) — Image à prétraiter. S'attend à une image unique ou à un lot d'images dont les valeurs de pixels vont de 0 à 255. Si vous passez des images dont les valeurs de pixels sont comprises entre 0 et 1, définissez do_rescale=False.
  • do_convert_rgb (bool, kwargs, facultatif) — Indique s'il faut convertir l'image en RGB.
  • do_resize (bool, kwargs, facultatif) — Indique s'il faut redimensionner l'image.
  • size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — Définit les dimensions maximales des entrées du modèle.
  • default_to_square (bool, kwargs, facultatif) — Indique s'il faut par défaut redimensionner l'image en carré si la taille est un entier.
  • crop_size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — Taille de l'image de sortie après application de center_crop.
  • resample (Annotated[Union[int, PILImageResampling, NoneType], None], kwargs) — Filtre de rééchantillonnage à utiliser lors du redimensionnement de l’image. Il peut s’agir de l’une des valeurs de l’enum PILImageResampling. N’a un effet que si do_resize est défini sur True.
  • do_rescale (bool, kwargs, facultatif) — Indique s'il faut rééchelonner l'image.
  • rescale_factor (float, kwargs, facultatif) — Facteur de remise à l'échelle à appliquer à l'image si do_rescale est défini sur True.
  • do_normalize (bool, kwargs, facultatif) — Indique s'il faut normaliser l'image.
  • image_mean (Union[float, list[float], tuple[float, ...]], kwargs, facultatif) — Moyenne de l'image à utiliser pour la normalisation. N'a un effet que si do_normalize est défini sur True.
  • image_std (Union[float, list[float], tuple[float, ...]], kwargs, facultatif) — Écart-type de l'image à utiliser pour la normalisation. N'a un effet que si do_normalize est défini sur True.
  • do_pad (bool, kwargs, facultatif) — Indique s'il faut effectuer un bourrage (padding) de l'image. Le bourrage est effectué soit jusqu'à la plus grande taille du lot, soit jusqu'à une taille carrée fixe par image. La stratégie de bourrage exacte dépend du modèle.
  • pad_size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — La taille au format {"height": int, "width" int} à laquelle les images doivent être remplies. Elle doit être supérieure à la taille de n'importe quelle image fournie pour la prétraitement. Si pad_size n'est pas fourni, les images seront remplies jusqu'à la hauteur et la largeur maximales du lot. Appliqué uniquement lorsque do_pad=True.
  • do_center_crop (bool, kwargs, facultatif) — Indique s'il faut effectuer un recadrage centré de l'image.
  • data_format (Union[str, ~image_utils.ChannelDimension], kwargs, facultatif) — Seul ChannelDimension.FIRST est pris en charge. Ajouté pour la compatibilité avec les processeurs lents.
  • input_data_format (Union[str, ~image_utils.ChannelDimension], kwargs, facultatif) — Le format de la dimension des canaux pour l'image d'entrée. Si non défini, le format de la dimension des canaux est déduit de l'image d'entrée. Peut être l'un des éléments suivants :
    • "channels_first" ou ChannelDimension.FIRST : image au format (num_channels, height, width).
    • "channels_last" ou ChannelDimension.LAST : image au format (hauteur, largeur, nombre de canaux).
    • "none" ou ChannelDimension.NONE : image au format (hauteur, largeur).
  • device (Annotated[Union[str, torch.device, NoneType], None], kwargs) — L’appareil sur lequel traiter les vidéos. Si non défini, l’appareil est déduit des vidéos d’entrée.
  • return_tensors (Annotated[str | ~utils.generic.TensorType | None, None], kwargs) — Retourne des tenseurs empilés si défini sur 'pt', sinon retourne une liste de tenseurs.
  • disable_grouping (bool, kwargs, facultatif) — Indique s'il faut désactiver le regroupement des images par taille afin de les traiter individuellement plutôt que par lots. Si la valeur est None, elle est définie sur True si les images sont sur CPU, et sur False dans le cas contraire. Ce choix repose sur des observations empiriques, comme détaillé ici : https://github.com/huggingface/transformers/pull/38157
  • image_seq_length (int, kwargs, facultatif) — Le nombre de jetons d’image à utiliser pour chaque image de l’entrée. Ajouté pour la compatibilité ascendante, mais cela devrait être défini comme un attribut du processeur dans les futurs modèles.
  • return_image_mask (bool, kwargs, facultatif, valeur par défaut False) — Indique s'il faut retourner le masque d'image. Peut être remplacé par le paramètre return_image_mask dans preprocess.
  • input_size_patches (int, kwargs, facultatif, valeur par défaut 14) — Nombre de patches dans l'image dans les directions de la hauteur et de la largeur. 14x14 = 196 patches au total. Peut être remplacé par le paramètre input_size_patches dans preprocess.
  • total_mask_patches (int, kwargs, facultatif, valeur par défaut 75) — Nombre total de patches qui doivent être masqués. Peut être remplacé par le paramètre total_mask_patches dans preprocess.
  • mask_group_min_patches (int, kwargs, facultatif, valeur par défaut 16) — Nombre minimal de patches qui doivent être masqués. Peut être remplacé par le paramètre mask_group_min_patches de preprocess.
  • mask_group_max_patches (int, kwargs, facultatif) — Nombre maximal de patches qui doivent être masqués. Peut être remplacé par le paramètre mask_group_max_patches de preprocess.
  • mask_group_min_aspect_ratio (float, kwargs, facultatif, valeur par défaut 0.3) — Ratio d’aspect minimal de la fenêtre de masque. Peut être remplacé par le paramètre mask_group_min_aspect_ratio dans preprocess.
  • mask_group_max_aspect_ratio (float, kwargs, facultatif) — Ratio d’aspect maximal de la fenêtre de masque. Peut être remplacé par le paramètre mask_group_max_aspect_ratio dans preprocess.
  • return_codebook_pixels (bool, kwargs, facultatif, par défaut False) — Indique s'il faut renvoyer les valeurs de pixels du codebook.
  • codebook_do_resize (bool, kwargs, facultatif, valeur par défaut True) — Indique s'il faut redimensionner l'entrée du codebook à une certaine taille. Peut être remplacé par le paramètre codebook_do_resize de preprocess. codebook_size.
  • codebook_size (dict[str, *kwargs*, int], facultatif, par défaut {"height" -- 224, "width": 224}) : Redimensionne l'entrée du codebook à la taille donnée. Peut être remplacé par le paramètre codebook_size dans preprocess.
  • codebook_resample (PILImageResampling, kwargs, optionnel, par défaut PILImageResampling.LANCZOS) — Filtre de rééchantillonnage à utiliser lors du redimensionnement de l’image du codebook. Avec torchvision < 0.27, LANCZOS n’est pas pris en charge pour les Tensors torch et BICUBIC est utilisé comme alternative la plus proche. Peut être remplacé par le paramètre codebook_resample dans preprocess.
  • codebook_do_center_crop (bool, kwargs, facultatif, valeur par défaut True) — Indique s'il faut recadrer l'entrée pour le codebook au centre. Si la taille de l'entrée est inférieure à codebook_crop_size le long d'un des bords, l'image est rembourrée avec des 0 puis recadrée au centre. Peut être remplacé par le paramètre codebook_do_center_crop dans preprocess.
  • codebook_crop_size (dict[str, *kwargs*, int], facultatif, par défaut {"height" -- 224, "width": 224}) : Taille de sortie souhaitée pour l'entrée du codebook lors de l'application d'un recadrage centré. Peut être remplacé par le paramètre codebook_crop_size dans preprocess.
  • codebook_do_rescale (bool, kwargs, facultatif, valeur par défaut True) — Indique s'il faut rééchelonner l'entrée pour le codebook par l'échelle spécifiée codebook_rescale_factor. Peut être remplacé par le paramètre codebook_do_rescale dans preprocess.
  • codebook_rescale_factor (int, kwargs ou float, facultatif, valeur par défaut 1/255) — Définit le facteur d’échelle à utiliser lors du redimensionnement de l’image du codebook. Peut être remplacé par le paramètre codebook_rescale_factor dans preprocess.
  • codebook_do_map_pixels (bool, kwargs, facultatif, valeur par défaut True) — Indique s'il faut mapper les valeurs de pixels de l'entrée du codebook sur (1 - 2e)x + e. Peut être remplacé par le paramètre codebook_do_map_pixels dans preprocess.
  • codebook_do_normalize (bool, kwargs, facultatif, valeur par défaut True) — Indique s'il faut normaliser l'entrée pour le codebook à l'aide de codebook_image_mean et codebook_image_std. Peut être remplacé par le paramètre codebook_do_normalize dans preprocess.
  • codebook_image_mean (Optional[Union[float, *kwargs*, Iterable[float]]], facultatif, valeur par défaut [0, 0, 0]) — La séquence des moyennes pour chaque canal, à utiliser lors de la normalisation des images pour le codebook. Peut être remplacée par le paramètre codebook_image_mean dans preprocess.
  • codebook_image_std (Optional[Union[float, *kwargs*, Iterable[float]]], facultatif, valeur par défaut [0.5, 0.5, 0.5]) — La séquence des écarts-types pour chaque canal, à utiliser lors de la normalisation des images pour le codebook. Peut être remplacé par le paramètre codebook_image_std dans preprocess.

Retourne

~image_processing_base.BatchFeature

  • data (dict) — Dictionnaire de listes/tableaux/tenseurs renvoyé par la méthode call (« pixel_values », etc.).
  • tensor_type (Union[None, str, TensorType], facultatif) — Vous pouvez spécifier un tensor_type ici pour convertir les listes d'entiers en tenseurs PyTorch/Numpy lors de l'initialisation.

FlavaForPreTraining

classe transformers.FlavaForPreTraining

< >

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

Paramètres

  • config (FlavaConfig) — Classe de configuration du modèle contenant tous les paramètres du modèle. L’initialisation à partir d’un fichier de configuration ne charge pas les poids associés au modèle, uniquement la configuration. Consultez la méthode from_pretrained() pour charger les poids du modèle.
  • image_codebook (torch.nn.Module, facultatif) — Si fourni, le codebook d’image sera défini sur cette valeur. Sinon, il sera initialisé en utilisant le image_codebook_config défini dans la configuration, en tant que premier paramètre.

Le modèle FLAVA pour la préformation, qui renvoie des pertes, des plongements, des logits et des sorties de transformeur.

Ce modèle hérite de PreTrainedModel. Consultez la documentation de la classe parente pour les méthodes génériques que la bibliothèque implémente pour tous ses modèles (tels que le téléchargement ou l'enregistrement, le redimensionnement des embeddings d'entrée, la taille des têtes, etc.)

Ce modèle est également une sous-classe de torch.nn.Module de PyTorch. Utilisez-le comme un module PyTorch standard et consultez la documentation de PyTorch pour tout ce qui concerne l'utilisation et le comportement généraux.

forward

< >

( input_ids: typing.Optional[torch.LongTensor] = Noneinput_ids_masked: typing.Optional[torch.LongTensor] = Nonepixel_values: typing.Optional[torch.Tensor] = Nonecodebook_pixel_values: typing.Optional[torch.Tensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Nonetoken_type_ids: typing.Optional[torch.Tensor] = Nonebool_masked_pos: typing.Optional[torch.Tensor] = Noneposition_ids: typing.Optional[torch.LongTensor] = Noneimage_attention_mask: typing.Optional[torch.Tensor] = Noneskip_unmasked_multimodal_encoder: bool | None = Nonemlm_labels: typing.Optional[torch.Tensor] = Nonemim_labels: typing.Optional[torch.Tensor] = Noneitm_labels: typing.Optional[torch.Tensor] = Noneoutput_attentions: bool | None = Noneoutput_hidden_states: bool = Truereturn_dict: bool | None = Nonereturn_loss: bool | None = None**kwargs ) → FlavaForPreTrainingOutput or tuple(torch.Tensor)

Paramètres

  • input_ids (torch.LongTensor de forme (batch_size, text_seq_len)) — Indices des jetons de la séquence d'entrée dans le vocabulaire. Les indices peuvent être obtenus à l'aide de AutoTokenizer. Voir PreTrainedTokenizer.encode() et PreTrainedTokenizer.call() pour plus de détails. Que sont les identifiants d'entrée ?
  • input_ids_masked (torch.LongTensor de forme (batch_size, text_seq_len)) — Indices des jetons de la séquence d’entrée dans le vocabulaire. Il s’agit de la version masquée de la tâche d’origine, à utiliser avec le MLM. Les indices peuvent être obtenus à l’aide de AutoTokenizer en combinaison avec DataCollatorForMaskedLanguageModeling. Consultez PreTrainedTokenizer.encode() et PreTrainedTokenizer.call() pour plus de détails. Que sont les identifiants d’entrée ?
  • pixel_values (torch.Tensor de forme (batch_size, num_channels, image_size, image_size), facultatif) — Les tenseurs correspondant aux images d'entrée. Les valeurs de pixels peuvent être obtenues à l'aide de FlavaImageProcessor. Voir FlavaImageProcessor.call() pour plus de détails (FlavaProcessor utilise FlavaImageProcessor pour le traitement des images).
  • codebook_pixel_values (torch.Tensor de forme (batch_size, num_image_patches, patch_size, patch_size, 3), facultatif) — Valeurs de pixels des patches d’image utilisés pour calculer les étiquettes du codebook d’image pour le modélisation d’images masquées.
  • attention_mask (torch.Tensor de forme (batch_size, sequence_length), facultatif) — Masque pour éviter d'appliquer l'attention aux indices des jetons de bourrage. Les valeurs du masque sont choisies dans [0, 1]:
    • 1 pour les jetons qui ne sont pas masqués,
    • 0 pour les jetons masqués.

    Qu'est-ce que les masques d'attention ?

  • token_type_ids (torch.LongTensor de forme (batch_size, text_seq_len), facultatif) — Indices de jetons de segment pour indiquer les première et deuxième parties des entrées. Les indices sont choisis dans [0, 1]:
  • bool_masked_pos (torch.BoolTensor de forme (batch_size, image_num_patches)) — Positions masquées booléennes. Indique quels patches sont masqués (1) et lesquels ne le sont pas (0).
  • position_ids (torch.LongTensor de forme (batch_size, sequence_length), facultatif) — Indices des positions des jetons de chaque séquence d'entrée dans les embeddings de position. Sélectionnés dans l'intervalle [0, config.n_positions - 1].

    Qu'est-ce que les identifiants de position ?

  • image_attention_mask (torch.Tensor de forme (batch_size, image_num_patches), facultatif) — Masque pour éviter d'appliquer l'attention aux indices de jetons de bourrage, spécifiquement pour les images. Les valeurs du masque sont sélectionnées dans [0, 1]:
  • skip_unmasked_multimodal_encoder (*bool*, facultatif) — Ignorer les calculs de l’encodeur multimodal pour les entrées non masquées. La pré-formation de FLAVA n’a pas besoin, pour le moment, des embeddings ou des sorties multimodales non masquées.
  • mlm_labels (torch.LongTensor de forme (batch_size, text_seq_len), facultatif) — Étiquettes pour le calcul de la perte de modélisation masquée de langage et multimodale de gauche à droite (prédiction du mot suivant). Les indices doivent être dans [-100, 0, ..., text_config.vocab_size - 1] (voir la docstring de input_ids). Les jetons dont l'indice est défini sur -100 sont ignorés (masqués) ; la perte n'est calculée que pour les jetons dont l'étiquette est dans [0, ..., text_config.vocab_size - 1].
  • mim_labels (torch.LongTensor de forme (batch_size, image_num_patches), facultatif) — Étiquettes pour le calcul de la perte de modélisation masquée d’image et multimodale. Les indices doivent être dans [-100, 0, ..., image_config.vocab_size - 1]. Les jetons dont l’indice est défini sur -100 sont ignorés (masqués) ; la perte n’est calculée que pour les jetons dont l’étiquette est dans [0, ..., image_config.vocab_size - 1]. Si non fournis, ils sont générés automatiquement à l’aide du codebook d’image assigné au modèle. Par défaut, il utilise FlavaImageCodebook. Consultez FlavaImageCodebook pour comprendre comment générer mim_labels.
  • itm_labels (torch.LongTensor de forme (batch_size, 1), facultatif) — Étiquettes pour le calcul de la perte d’adéquation image-texte. 0 signifie que les paires ne correspondent pas et 1 qu’elles correspondent. Les paires avec 0 seront également ignorées pour le calcul des pertes MMM et contrastives globales.
  • output_attentions (bool, facultatif) — Indique s'il faut ou non retourner les tenseurs d'attention de toutes les couches d'attention. Consultez attentions sous les tenseurs retournés pour plus de détails.
  • output_hidden_states (bool, facultatif, par défaut True) — Indique s'il faut retourner les états cachés de toutes les couches. Voir hidden_states sous les tenseurs retournés pour plus de détails.
  • return_dict (bool, facultatif) — Indique s'il faut retourner un ModelOutput plutôt qu'un simple tuple.
  • return_loss (bool, facultatif, par défaut None) — Indique s'il faut renvoyer la perte calculée ou non.

Retourne

FlavaForPreTrainingOutput ou tuple(torch.Tensor)

Un FlavaForPreTrainingOutput ou un tuple de torch.Tensor (si return_dict=False est passé ou lorsque config.return_dict=False) comprenant divers éléments en fonction de la configuration (FlavaConfig) et des entrées.

La méthode forward de FlavaForPreTraining redéfinit la méthode spéciale __call__.

Bien que la recette de la passe avant doive être définie dans cette fonction, il faut ensuite appeler l'instance Module plutôt que celle-ci, car la première gère l'exécution des étapes de prétraitement et de post-traitement, tandis que la seconde les ignore silencieusement.

  • loss (torch.Tensor, facultatif, renvoyé lorsque return_loss est True) — Perte totale calculée pour ce modèle.
  • loss_info (~models.flava.modeling_flava.FlavaLosses, facultatif) — Informations détaillées sur les pertes de pré-entraînement de FLAVA. Consultez la description de la classe FlavaLosses pour connaître les clés.
  • image_embeddings (torch.Tensor de forme (batch_size, output_dim), facultatif, renvoyé lorsque pixel_values sont présents) — Les embeddings d’image, qui correspondent essentiellement à la sortie agrégée de FlavaImageModel.
  • image_output (BaseModelOutputWithPooling, facultatif, renvoyé lorsque pixel_values sont présents) — La sortie du FlavaImageModel.
  • text_embeddings (torch.Tensor de forme (batch_size, output_dim), facultatif, renvoyé lorsque input_ids est présent) — Les embeddings de texte, qui correspondent essentiellement à la sortie agrégée de FlavaTextModel.
  • text_output (BaseModelOutputWithPooling, facultatif, renvoyé lorsque input_ids sont présents) — La sortie du FlavaTextModel.
  • multimodal_embeddings (torch.Tensor de forme (batch_size, output_dim), facultatif, renvoyé lorsque input_ids et pixel_values sont présents et que skip_unmasked_multimodal_encoder est None ou False) — Les embeddings multimodaux, qui correspondent essentiellement à la sortie agrégée de FlavaTextModel.
  • multimodal_output (BaseModelOutputWithPooling, renvoyé lorsque input_ids et pixel_values sont présents et que skip_unmasked_multimodal_encoder est None ou False) — La sortie du FlavaMultimodalModel.
  • image_masked_embeddings (torch.Tensor de forme (batch_size, output_dim), facultatif, renvoyé lorsque pixel_values sont présents) — Les embeddings d’image, qui correspondent essentiellement à la sortie agrégée de FlavaImageModel. Utilise bool_masked_pos pour créer des images masquées.
  • image_masked_output (BaseModelOutputWithPooling, facultatif, renvoyé lorsque pixel_values sont présents) — La sortie du FlavaImageModel. Utilise bool_masked_pos pour créer des images masquées.
  • text_masked_embeddings (torch.Tensor de forme (batch_size, output_dim), facultatif, renvoyé lorsque input_ids_masked est présent) — Les embeddings de texte, qui correspondent essentiellement à la sortie agrégée de FlavaTextModel.
  • text_masked_output (BaseModelOutputWithPooling, facultatif, renvoyé lorsque input_ids_masked sont présents) — La sortie du FlavaTextModel.
  • multimodal_masked_embeddings (torch.Tensor de forme (batch_size, output_dim), facultatif, renvoyé lorsque input_ids et pixel_values sont présents) — Les embeddings multimodaux, qui correspondent essentiellement à la sortie agrégée de FlavaTextModel.
  • multimodal_masked_output (BaseModelOutputWithPooling, facultatif, renvoyé lorsque input_ids_masked et pixel_values sont présents) — La sortie du FlavaMultimodalModel.
  • mim_logits (torch.Tensor de forme (batch_size, num_image_patches, image_vocab_size) ou de forme (total_masked_patches, image_vocab_size) , facultatif, renvoyé lorsque pixel_values sont présents et que input_ids_masked ne le sont pas) — Les logits pour la perte unimodale MIM. Utilise bool_masked_pos pour obtenir les patches masqués. La sortie aplatie est renvoyée lorsque bool_masked_pos masque certains des patches.
  • mlm_logits (torch.Tensor de forme (batch_size, text_seq_length, text_vocab_size) ou de forme (total_masked_seq_length, text_vocab_size), facultatif, renvoyé lorsque input_ids_masked sont présents et que pixel_values ne le sont pas) — Les logits pour la perte unimodale MLM. La sortie aplatie est renvoyée lorsque input_ids_masked masque certains des jetons.
  • itm_logits (torch.Tensor de forme (batch_size, 2), facultatif, renvoyé lorsque input_ids_masked et pixel_values sont présents) — Les logits pour la perte ITM. Notez que la perte ITM est calculée sur les paires masquées dans FLAVA.
  • contrastive_logits_per_image (torch.Tensor de forme (image_batch_size, text_batch_size)) — Les scores de produit scalaire normalisé entre image_embeddings et text_embeddings, mais passés respectivement par les couches image_projection et text_projection de FLAVA. Cela représente les scores de similarité image-texte. Ce calcul est effectué sur des images et des textes non masqués.
  • contrastive_logits_per_text (torch.Tensor de forme (text_batch_size, image_batch_size)) — Les scores de produit scalaire normalisés entre text_embeddings et image_embeddings, mais passés respectivement par les couches text_projection et image_projection de FLAVA. Ce calcul est effectué sur des images et des textes non masqués.
  • mmm_image_logits (torch.Tensor de forme (batch_size, num_image_patches, image_vocab_size) ou de forme(total_masked_patches, image_vocab_size), facultatif, renvoyé lorsque pixel_values et input_ids_masked sont présents) — Les logits pour la perte multimodale d’image MMM. Utilise bool_masked_pos pour obtenir les patches masqués. La sortie aplatie est renvoyée lorsque bool_masked_pos masque certains des patches.
  • mmm_text_logits (torch.Tensor de forme (batch_size, text_seq_length, text_vocab_size) ou de forme (total_masked_seq_length, text_vocab_size), facultatif, renvoyé lorsque pixel_values et input_ids_masked sont présents) — Les logits pour la perte multimodale de texte MMM. La sortie aplatie est renvoyée lorsque input_ids_masked a certains jetons masqués.

Exemples :

>>> from PIL import Image
>>> from huggingface_hub.utils import httpx
>>> from io import BytesIO
>>> from transformers import FlavaForPreTraining, AutoProcessor

>>> url = "http://images.cocodataset.org/val2017/000000039769.jpg"
>>> with httpx.stream("GET", url) as response:
...     image = Image.open(BytesIO(response.read()))

>>> model = FlavaForPreTraining.from_pretrained("facebook/flava-full")
>>> processor = AutoProcessor.from_pretrained("facebook/flava-full")

>>> text = ["a photo of a cat"]

>>> inputs = processor(
...     images=[image],
...     text=text,
...     return_masks=True,
...     return_codebook_pixels=True,
...     padding=True,
...     max_length=77,
...     return_tensors="pt",
... )


>>> output = model(**inputs)

FlavaModel

classe transformers.FlavaModel

< >

( config: FlavaConfig )

Paramètres

  • config (FlavaConfig) — Classe de configuration du modèle contenant tous les paramètres du modèle. L’initialisation à partir d’un fichier de configuration ne charge pas les poids associés au modèle, uniquement la configuration. Consultez la méthode from_pretrained() pour charger les poids du modèle.

Le modèle Flava brut, qui produit des états cachés bruts sans aucune tête spécifique au sommet.

Ce modèle hérite de PreTrainedModel. Consultez la documentation de la classe parente pour les méthodes génériques que la bibliothèque implémente pour tous ses modèles (tels que le téléchargement ou l'enregistrement, le redimensionnement des embeddings d'entrée, la taille des têtes, etc.)

Ce modèle est également une sous-classe de torch.nn.Module de PyTorch. Utilisez-le comme un module PyTorch standard et consultez la documentation de PyTorch pour tout ce qui concerne l'utilisation et le comportement généraux.

forward

< >

( input_ids: typing.Optional[torch.LongTensor] = Nonepixel_values: typing.Optional[torch.Tensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Nonetoken_type_ids: typing.Optional[torch.Tensor] = Nonebool_masked_pos: typing.Optional[torch.Tensor] = Noneposition_ids: typing.Optional[torch.LongTensor] = Noneimage_attention_mask: typing.Optional[torch.Tensor] = Noneskip_multimodal_encoder: bool | None = Noneoutput_attentions: bool | None = Noneoutput_hidden_states: bool = Truereturn_dict: bool | None = None**kwargs ) → FlavaModelOutput or tuple(torch.Tensor)

Paramètres

  • input_ids (torch.LongTensor de forme (batch_size, image_num_patches + text_seq_len)) — Indices des jetons de la séquence d'entrée dans le vocabulaire. Les indices peuvent être obtenus à l'aide de AutoTokenizer. Voir PreTrainedTokenizer.encode() et PreTrainedTokenizer.call() pour plus de détails. Que sont les identifiants d'entrée ?
  • pixel_values (torch.Tensor de forme (batch_size, num_channels, image_size, image_size), facultatif) — Les tenseurs correspondant aux images d'entrée. Les valeurs de pixels peuvent être obtenues à l'aide de FlavaImageProcessor. Voir FlavaImageProcessor.call() pour plus de détails (FlavaProcessor utilise FlavaImageProcessor pour le traitement des images).
  • attention_mask (torch.Tensor de forme (batch_size, sequence_length), facultatif) — Masque pour éviter d'appliquer l'attention aux indices des jetons de bourrage. Les valeurs du masque sont choisies dans [0, 1]:
    • 1 pour les jetons qui ne sont pas masqués,
    • 0 pour les jetons masqués.

    Qu'est-ce que les masques d'attention ?

  • token_type_ids (torch.LongTensor de forme (batch_size, image_num_patches + text_seq_len), facultatif) — Indices de jetons de segment pour indiquer les première et deuxième parties des entrées. Les indices sont choisis dans [0, 1]:
  • bool_masked_pos (torch.BoolTensor de forme (batch_size, image_num_patches)) — Positions masquées booléennes. Indique quels patches sont masqués (1) et lesquels ne le sont pas (0).
  • position_ids (torch.LongTensor de forme (batch_size, sequence_length), facultatif) — Indices des positions des jetons de chaque séquence d'entrée dans les embeddings de position. Sélectionnés dans l'intervalle [0, config.n_positions - 1].

    Qu'est-ce que les identifiants de position ?

  • image_attention_mask (torch.Tensor de forme (batch_size, image_num_patches), facultatif) — Masque pour éviter d'appliquer l'attention aux valeurs de pixels de bourrage pour les entrées d'image. Les valeurs du masque sont choisies dans [0, 1]:
    • 1 pour les valeurs de pixels réelles (c.-à-d. non masquées),
    • 0 pour les valeurs de pixels qui sont du bourrage (c.-à-d. masquées).
  • skip_multimodal_encoder (*bool*, facultatif) — Ignorer tous les calculs pour l’encodeur multimodal. Utile si l’encodage multimodal n’est pas utilisé.
  • output_attentions (bool, facultatif) — Indique s'il faut ou non retourner les tenseurs d'attention de toutes les couches d'attention. Consultez attentions sous les tenseurs retournés pour plus de détails.
  • output_hidden_states (bool, facultatif, par défaut True) — Indique s'il faut retourner les états cachés de toutes les couches. Voir hidden_states sous les tenseurs retournés pour plus de détails.
  • return_dict (bool, facultatif) — Indique s'il faut retourner un ModelOutput plutôt qu'un simple tuple.

Retourne

FlavaModelOutput ou tuple(torch.Tensor)

Un FlavaModelOutput ou un tuple de torch.Tensor (si return_dict=False est passé ou lorsque config.return_dict=False) comprenant divers éléments en fonction de la configuration (FlavaConfig) et des entrées.

La méthode forward de FlavaModel surcharge la méthode spéciale __call__.

Bien que la recette de la passe avant doive être définie dans cette fonction, il faut ensuite appeler l'instance Module plutôt que celle-ci, car la première gère l'exécution des étapes de prétraitement et de post-traitement, tandis que la seconde les ignore silencieusement.

  • image_embeddings (torch.Tensor de forme (batch_size, output_dim), facultatif, renvoyé lorsque pixel_values sont présents) — Les embeddings d’image, qui correspondent essentiellement à la sortie agrégée de FlavaImageModel.
  • image_output (BaseModelOutputWithPooling, facultatif, renvoyé lorsque pixel_values sont présents) — La sortie du FlavaImageModel.
  • text_embeddings (torch.Tensor de forme (batch_size, output_dim), facultatif, renvoyé lorsque input_ids est présent) — Les embeddings de texte, qui correspondent essentiellement à la sortie agrégée de FlavaTextModel.
  • text_output (BaseModelOutputWithPooling, facultatif, renvoyé lorsque input_ids sont présents) — La sortie du FlavaTextModel.
  • multimodal_embeddings (torch.Tensor de forme (batch_size, output_dim), facultatif, renvoyé lorsque input_ids et pixel_values sont présents et que skip_multimodal_encoder est None ou False) — Les embeddings multimodaux, qui correspondent essentiellement à la sortie agrégée de FlavaTextModel.
  • multimodal_output (BaseModelOutputWithPooling, renvoyé lorsque input_ids et pixel_values sont présents et que skip_multimodal_encoder est None ou False) — La sortie du FlavaMultimodalModel.

Exemples :

>>> from PIL import Image
>>> from huggingface_hub.utils import httpx
>>> from io import BytesIO
>>> from transformers import AutoProcessor, FlavaModel

>>> model = FlavaModel.from_pretrained("facebook/flava-full")
>>> processor = AutoProcessor.from_pretrained("facebook/flava-full")

>>> url = "http://images.cocodataset.org/val2017/000000039769.jpg"
>>> with httpx.stream("GET", url) as response:
...     image = Image.open(BytesIO(response.read()))

>>> inputs = processor(text=["a photo of a cat"], images=image, return_tensors="pt", padding=True)

>>> outputs = model(**inputs)

>>> image_embeddings = outputs.image_embeddings
>>> text_embeddings = outputs.text_embeddings
>>> multimodal_embeddings = outputs.multimodal_embeddings

>>> outputs.image_embeddings.shape
torch.Size([1, 197, 768])

>>> text_embeddings.shape
torch.Size([1, 7, 768])

>>> multimodal_embeddings.shape
torch.Size([1, 205, 768])

get_text_features

< >

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

Paramètres

  • input_ids (torch.LongTensor de forme (batch_size, text_seq_length)) — Indices des jetons de la séquence d'entrée dans le vocabulaire. Les indices peuvent être obtenus à l'aide de AutoTokenizer. Voir PreTrainedTokenizer.encode() et PreTrainedTokenizer.call() pour plus de détails. Que sont les identifiants d'entrée ?
  • attention_mask (torch.Tensor de forme (batch_size, sequence_length), facultatif) — Masque pour éviter d'appliquer l'attention aux indices des jetons de bourrage. Les valeurs du masque sont choisies dans [0, 1]:
    • 1 pour les jetons qui ne sont pas masqués,
    • 0 pour les jetons masqués.

    Qu'est-ce que les masques d'attention ?

  • token_type_ids (torch.LongTensor de forme (batch_size, text_seq_length), facultatif) — Indices de jetons de segment pour indiquer les première et deuxième parties des entrées. Les indices sont sélectionnés dans [0, 1]:
  • position_ids (torch.Tensor de forme (batch_size, sequence_length), facultatif) — Indices des positions des jetons de chaque séquence d'entrée dans les embeddings de position. Sélectionnés dans l'intervalle [0, config.n_positions - 1].

    Qu'est-ce que les identifiants de position ?

Retourne

BaseModelOutputWithPooling ou tuple(torch.Tensor)

Un BaseModelOutputWithPooling ou un tuple de torch.Tensor (si return_dict=False est passé ou lorsque config.return_dict=False) comprenant divers éléments en fonction de la configuration (FlavaConfig) et des entrées.

  • last_hidden_state (torch.Tensor de forme (batch_size, sequence_length, hidden_size)) — Séquence d'états cachés à la sortie de la dernière couche du modèle.

  • pooler_output (torch.Tensor de forme (batch_size, hidden_size)) — État caché de la dernière couche du premier jeton de la séquence (jeton de classification) après un traitement supplémentaire par les couches utilisées pour la tâche de pré-entraînement auxiliaire. Par exemple, pour les modèles de la famille BERT, cela renvoie le jeton de classification après traitement par une couche linéaire et une fonction d'activation tanh. Les poids de la couche linéaire sont entraînés à partir de l'objectif de prédiction de la phrase suivante (classification) pendant le pré-entraînement.

  • hidden_states (tuple(torch.Tensor), facultatif, renvoyé lorsque output_hidden_states=True est passé ou lorsque config.output_hidden_states=True) — Tuple de torch.Tensor (un pour la sortie des embeddings, si le modèle possède une couche d’embedding, + un pour la sortie de chaque couche) de forme (batch_size, sequence_length, hidden_size).

    États cachés du modèle à la sortie de chaque couche, ainsi que les sorties d'incorporation initiales facultatives.

  • attentions (tuple(torch.Tensor), facultatif, renvoyé lorsque output_attentions=True est passé ou lorsque config.output_attentions=True) — Tuple de torch.Tensor (un par couche) de forme (batch_size, num_heads, sequence_length, sequence_length).

    Poids des attentions après le softmax d'attention, utilisés pour calculer la moyenne pondérée dans les têtes d'auto-attention.

Exemples :

>>> import torch
>>> from transformers import AutoProcessor, FlavaModel

>>> model = FlavaModel.from_pretrained("{0}")
>>> processor = AutoProcessor.from_pretrained("{0}")

>>> inputs = processor(
...     text=["a photo of a cat", "a photo of a dog"], max_length=77, padding="max_length", return_tensors="pt"
... )
>>> with torch.inference_mode():
...     text_features = model.get_text_features(**inputs)

get_image_features

< >

( pixel_values: Tensorbool_masked_pos: typing.Optional[torch.BoolTensor] = Noneinterpolate_pos_encoding: bool | None = Noneattention_mask: typing.Optional[torch.Tensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → BaseModelOutputWithPooling or tuple(torch.Tensor)

Paramètres

  • pixel_values (torch.Tensor de forme (batch_size, num_channels, image_size, image_size)) — Les tenseurs correspondant aux images d'entrée. Les valeurs de pixels peuvent être obtenues à l'aide de FlavaImageProcessor. Voir FlavaImageProcessor.call() pour plus de détails (FlavaProcessor utilise FlavaImageProcessor pour le traitement des images).
  • bool_masked_pos (torch.BoolTensor de forme (batch_size, image_num_patches)) — Positions masquées booléennes. Indique quels patches sont masqués (1) et lesquels ne le sont pas (0).
  • interpolate_pos_encoding (bool, facultatif) — Indique s'il faut interpoler les encodages de position pré-entraînés.
  • attention_mask (torch.Tensor de forme (batch_size, sequence_length), facultatif) — Masque pour éviter d'appliquer l'attention aux indices des jetons de bourrage. Les valeurs du masque sont choisies dans [0, 1]:
    • 1 pour les jetons qui ne sont pas masqués,
    • 0 pour les jetons masqués.

    Qu'est-ce que les masques d'attention ?

Retourne

BaseModelOutputWithPooling ou tuple(torch.Tensor)

Un BaseModelOutputWithPooling ou un tuple de torch.Tensor (si return_dict=False est passé ou lorsque config.return_dict=False) comprenant divers éléments en fonction de la configuration (FlavaConfig) et des entrées.

  • last_hidden_state (torch.Tensor de forme (batch_size, sequence_length, hidden_size)) — Séquence d'états cachés à la sortie de la dernière couche du modèle.

  • pooler_output (torch.Tensor de forme (batch_size, hidden_size)) — État caché de la dernière couche du premier jeton de la séquence (jeton de classification) après un traitement supplémentaire par les couches utilisées pour la tâche de pré-entraînement auxiliaire. Par exemple, pour les modèles de la famille BERT, cela renvoie le jeton de classification après traitement par une couche linéaire et une fonction d'activation tanh. Les poids de la couche linéaire sont entraînés à partir de l'objectif de prédiction de la phrase suivante (classification) pendant le pré-entraînement.

  • hidden_states (tuple(torch.Tensor), facultatif, renvoyé lorsque output_hidden_states=True est passé ou lorsque config.output_hidden_states=True) — Tuple de torch.Tensor (un pour la sortie des embeddings, si le modèle possède une couche d’embedding, + un pour la sortie de chaque couche) de forme (batch_size, sequence_length, hidden_size).

    États cachés du modèle à la sortie de chaque couche, ainsi que les sorties d'incorporation initiales facultatives.

  • attentions (tuple(torch.Tensor), facultatif, renvoyé lorsque output_attentions=True est passé ou lorsque config.output_attentions=True) — Tuple de torch.Tensor (un par couche) de forme (batch_size, num_heads, sequence_length, sequence_length).

    Poids des attentions après le softmax d'attention, utilisés pour calculer la moyenne pondérée dans les têtes d'auto-attention.

Exemples :

>>> import torch
>>> from transformers import AutoProcessor, FlavaModel
>>> from transformers.image_utils import load_image

>>> model = FlavaModel.from_pretrained("{0}")
>>> processor = AutoProcessor.from_pretrained("{0}")

>>> url = "http://images.cocodataset.org/val2017/000000039769.jpg"
>>> image = load_image(url)

>>> inputs = processor(images=image, return_tensors="pt")

>>> with torch.inference_mode():
...     image_features = model.get_image_features(**inputs)

FlavaImageCodebook

classe transformers.FlavaImageCodebook

< >

( config: FlavaImageCodebookConfig**kwargs: Any )

Paramètres

  • config (FlavaImageCodebookConfig) — Classe de configuration du modèle contenant tous les paramètres du modèle. L’initialisation à partir d’un fichier de configuration ne charge pas les poids associés au modèle, uniquement la configuration. Consultez la méthode from_pretrained() pour charger les poids du modèle.

Le modèle de codebook d’images de FLAVA, inspiré de l’encodeur original de DALL-E. Il renvoie des états cachés bruts et peut être utilisé pour générer des jetons d’image pour une image, en s’appuyant sur le vocabulaire de DALL-E. Il sert à générer des étiquettes pour MIM. Utilisez get_codebook_indices pour obtenir les jetons d’image d’une image.

Ce modèle hérite de PreTrainedModel. Consultez la documentation de la classe parente pour les méthodes génériques que la bibliothèque implémente pour tous ses modèles (tels que le téléchargement ou l'enregistrement, le redimensionnement des embeddings d'entrée, la taille des têtes, etc.)

Ce modèle est également une sous-classe de torch.nn.Module de PyTorch. Utilisez-le comme un module PyTorch standard et consultez la documentation de PyTorch pour tout ce qui concerne l'utilisation et le comportement généraux.

forward

< >

( pixel_values: Tensor**kwargs )

get_codebook_indices

< >

( pixel_values: Tensor )

get_codebook_probs

< >

( pixel_values: Tensor )

FlavaTextModel

classe transformers.FlavaTextModel

< >

( config: FlavaTextConfigadd_pooling_layer: bool = True )

Paramètres

  • config (FlavaTextConfig) — Classe de configuration du modèle contenant tous les paramètres du modèle. L’initialisation à partir d’un fichier de configuration ne charge pas les poids associés au modèle, uniquement la configuration. Consultez la méthode from_pretrained() pour charger les poids du modèle.
  • add_pooling_layer (bool, facultatif, par défaut True) — Indique s'il faut ajouter une couche de pooling

Le modèle de texte Flava brut, qui produit des états cachés bruts sans aucune tête spécifique au sommet.

Ce modèle hérite de PreTrainedModel. Consultez la documentation de la classe parente pour les méthodes génériques que la bibliothèque implémente pour tous ses modèles (tels que le téléchargement ou l'enregistrement, le redimensionnement des embeddings d'entrée, la taille des têtes, etc.)

Ce modèle est également une sous-classe de torch.nn.Module de PyTorch. Utilisez-le comme un module PyTorch standard et consultez la documentation de PyTorch pour tout ce qui concerne l'utilisation et le comportement généraux.

forward

< >

( input_ids: typing.Optional[torch.Tensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Nonetoken_type_ids: typing.Optional[torch.Tensor] = Noneposition_ids: typing.Optional[torch.Tensor] = Noneoutput_attentions: bool | None = Noneoutput_hidden_states: bool | None = Nonereturn_dict: bool | None = None**kwargs ) → BaseModelOutputWithPooling or tuple(torch.Tensor)

Paramètres

  • input_ids (torch.LongTensor de forme (batch_size, text_seq_length)) — Indices des jetons de la séquence d'entrée dans le vocabulaire. Les indices peuvent être obtenus à l'aide de AutoTokenizer. Voir PreTrainedTokenizer.encode() et PreTrainedTokenizer.call() pour plus de détails. Que sont les identifiants d'entrée ?
  • attention_mask (torch.Tensor de forme (batch_size, sequence_length), facultatif) — Masque pour éviter d'appliquer l'attention aux indices des jetons de bourrage. Les valeurs du masque sont choisies dans [0, 1]:
    • 1 pour les jetons qui ne sont pas masqués,
    • 0 pour les jetons masqués.

    Qu'est-ce que les masques d'attention ?

  • token_type_ids (torch.LongTensor de forme (batch_size, text_seq_length), facultatif) — Indices de jetons de segment pour indiquer les première et deuxième parties des entrées. Les indices sont sélectionnés dans [0, 1]:
  • position_ids (torch.Tensor de forme (batch_size, sequence_length), facultatif) — Indices des positions des jetons de chaque séquence d'entrée dans les embeddings de position. Sélectionnés dans l'intervalle [0, config.n_positions - 1].

    Qu'est-ce que les identifiants de position ?

  • output_attentions (bool, facultatif) — Indique s'il faut ou non retourner les tenseurs d'attention de toutes les couches d'attention. Consultez attentions sous les tenseurs retournés pour plus de détails.
  • output_hidden_states (bool, facultatif) — Indique s'il faut retourner les états cachés de toutes les couches. Voir hidden_states sous les tenseurs retournés pour plus de détails.
  • return_dict (bool, facultatif) — Indique s'il faut retourner un ModelOutput plutôt qu'un simple tuple.

Retourne

BaseModelOutputWithPooling ou tuple(torch.Tensor)

Un BaseModelOutputWithPooling ou un tuple de torch.Tensor (si return_dict=False est passé ou lorsque config.return_dict=False) comprenant divers éléments en fonction de la configuration (FlavaConfig) et des entrées.

La méthode forward du modèle FlavaTextModel surcharge la méthode spéciale __call__.

Bien que la recette de la passe avant doive être définie dans cette fonction, il faut ensuite appeler l'instance Module plutôt que celle-ci, car la première gère l'exécution des étapes de prétraitement et de post-traitement, tandis que la seconde les ignore silencieusement.

  • last_hidden_state (torch.Tensor de forme (batch_size, sequence_length, hidden_size)) — Séquence d'états cachés à la sortie de la dernière couche du modèle.

  • pooler_output (torch.Tensor de forme (batch_size, hidden_size)) — État caché de la dernière couche du premier jeton de la séquence (jeton de classification) après un traitement supplémentaire par les couches utilisées pour la tâche de pré-entraînement auxiliaire. Par exemple, pour les modèles de la famille BERT, cela renvoie le jeton de classification après traitement par une couche linéaire et une fonction d'activation tanh. Les poids de la couche linéaire sont entraînés à partir de l'objectif de prédiction de la phrase suivante (classification) pendant le pré-entraînement.

  • hidden_states (tuple(torch.Tensor), facultatif, renvoyé lorsque output_hidden_states=True est passé ou lorsque config.output_hidden_states=True) — Tuple de torch.Tensor (un pour la sortie des embeddings, si le modèle possède une couche d’embedding, + un pour la sortie de chaque couche) de forme (batch_size, sequence_length, hidden_size).

    États cachés du modèle à la sortie de chaque couche, ainsi que les sorties d'incorporation initiales facultatives.

  • attentions (tuple(torch.Tensor), facultatif, renvoyé lorsque output_attentions=True est passé ou lorsque config.output_attentions=True) — Tuple de torch.Tensor (un par couche) de forme (batch_size, num_heads, sequence_length, sequence_length).

    Poids des attentions après le softmax d'attention, utilisés pour calculer la moyenne pondérée dans les têtes d'auto-attention.

FlavaImageModel

classe transformers.FlavaImageModel

< >

( config: FlavaImageConfigadd_pooling_layer: bool = True )

Paramètres

  • config (FlavaImageConfig) — Classe de configuration du modèle contenant tous les paramètres du modèle. L’initialisation à partir d’un fichier de configuration ne charge pas les poids associés au modèle, uniquement la configuration. Consultez la méthode from_pretrained() pour charger les poids du modèle.
  • add_pooling_layer (bool, facultatif, par défaut True) — Indique s'il faut ajouter une couche de pooling

Le modèle Flava brut, qui produit des états cachés bruts sans aucune tête spécifique au sommet.

Ce modèle hérite de PreTrainedModel. Consultez la documentation de la classe parente pour les méthodes génériques que la bibliothèque implémente pour tous ses modèles (tels que le téléchargement ou l'enregistrement, le redimensionnement des embeddings d'entrée, la taille des têtes, etc.)

Ce modèle est également une sous-classe de torch.nn.Module de PyTorch. Utilisez-le comme un module PyTorch standard et consultez la documentation de PyTorch pour tout ce qui concerne l'utilisation et le comportement généraux.

forward

< >

( pixel_values: typing.Optional[torch.Tensor] = Nonebool_masked_pos: typing.Optional[torch.BoolTensor] = Noneinterpolate_pos_encoding: bool | None = Noneattention_mask: typing.Optional[torch.Tensor] = Noneoutput_attentions: bool | None = Noneoutput_hidden_states: bool | None = Nonereturn_dict: bool | None = None**kwargs ) → BaseModelOutputWithPooling or tuple(torch.Tensor)

Paramètres

  • pixel_values (torch.Tensor de forme (batch_size, num_channels, image_size, image_size), facultatif) — Les tenseurs correspondant aux images d'entrée. Les valeurs de pixels peuvent être obtenues à l'aide de FlavaImageProcessor. Voir FlavaImageProcessor.call() pour plus de détails (FlavaProcessor utilise FlavaImageProcessor pour le traitement des images).
  • bool_masked_pos (torch.BoolTensor de forme (batch_size, image_num_patches)) — Positions masquées booléennes. Indique quels patches sont masqués (1) et lesquels ne le sont pas (0).
  • interpolate_pos_encoding (bool, facultatif) — Indique s'il faut interpoler les encodages de position pré-entraînés.
  • attention_mask (torch.Tensor de forme (batch_size, sequence_length), facultatif) — Masque pour éviter d'appliquer l'attention aux indices des jetons de bourrage. Les valeurs du masque sont choisies dans [0, 1]:
    • 1 pour les jetons qui ne sont pas masqués,
    • 0 pour les jetons masqués.

    Qu'est-ce que les masques d'attention ?

  • output_attentions (bool, facultatif) — Indique s'il faut ou non retourner les tenseurs d'attention de toutes les couches d'attention. Consultez attentions sous les tenseurs retournés pour plus de détails.
  • output_hidden_states (bool, facultatif) — Indique s'il faut retourner les états cachés de toutes les couches. Voir hidden_states sous les tenseurs retournés pour plus de détails.
  • return_dict (bool, facultatif) — Indique s'il faut retourner un ModelOutput plutôt qu'un simple tuple.

Retourne

BaseModelOutputWithPooling ou tuple(torch.Tensor)

Un BaseModelOutputWithPooling ou un tuple de torch.Tensor (si return_dict=False est passé ou lorsque config.return_dict=False) comprenant divers éléments en fonction de la configuration (FlavaConfig) et des entrées.

La méthode forward du modèle FlavaImageModel redéfinit la méthode spéciale __call__.

Bien que la recette de la passe avant doive être définie dans cette fonction, il faut ensuite appeler l'instance Module plutôt que celle-ci, car la première gère l'exécution des étapes de prétraitement et de post-traitement, tandis que la seconde les ignore silencieusement.

  • last_hidden_state (torch.Tensor de forme (batch_size, sequence_length, hidden_size)) — Séquence d'états cachés à la sortie de la dernière couche du modèle.

  • pooler_output (torch.Tensor de forme (batch_size, hidden_size)) — État caché de la dernière couche du premier jeton de la séquence (jeton de classification) après un traitement supplémentaire par les couches utilisées pour la tâche de pré-entraînement auxiliaire. Par exemple, pour les modèles de la famille BERT, cela renvoie le jeton de classification après traitement par une couche linéaire et une fonction d'activation tanh. Les poids de la couche linéaire sont entraînés à partir de l'objectif de prédiction de la phrase suivante (classification) pendant le pré-entraînement.

  • hidden_states (tuple(torch.Tensor), facultatif, renvoyé lorsque output_hidden_states=True est passé ou lorsque config.output_hidden_states=True) — Tuple de torch.Tensor (un pour la sortie des embeddings, si le modèle possède une couche d’embedding, + un pour la sortie de chaque couche) de forme (batch_size, sequence_length, hidden_size).

    États cachés du modèle à la sortie de chaque couche, ainsi que les sorties d'incorporation initiales facultatives.

  • attentions (tuple(torch.Tensor), facultatif, renvoyé lorsque output_attentions=True est passé ou lorsque config.output_attentions=True) — Tuple de torch.Tensor (un par couche) de forme (batch_size, num_heads, sequence_length, sequence_length).

    Poids des attentions après le softmax d'attention, utilisés pour calculer la moyenne pondérée dans les têtes d'auto-attention.

FlavaMultimodalModel

classe transformers.FlavaMultimodalModel

< >

( config: FlavaMultimodalConfigadd_pooling_layer = True )

Paramètres

  • config (FlavaMultimodalConfig) — Classe de configuration du modèle contenant tous les paramètres du modèle. L’initialisation à partir d’un fichier de configuration ne charge pas les poids associés au modèle, uniquement la configuration. Consultez la méthode from_pretrained() pour charger les poids du modèle.
  • add_pooling_layer (bool, facultatif, par défaut True) — Indique s'il faut ajouter une couche de pooling

Le modèle Flava brut, qui produit des états cachés bruts sans aucune tête spécifique au sommet.

Ce modèle hérite de PreTrainedModel. Consultez la documentation de la classe parente pour les méthodes génériques que la bibliothèque implémente pour tous ses modèles (tels que le téléchargement ou l'enregistrement, le redimensionnement des embeddings d'entrée, la taille des têtes, etc.)

Ce modèle est également une sous-classe de torch.nn.Module de PyTorch. Utilisez-le comme un module PyTorch standard et consultez la documentation de PyTorch pour tout ce qui concerne l'utilisation et le comportement généraux.

forward

< >

( hidden_states: Tensorattention_mask: typing.Optional[torch.Tensor] = Noneoutput_attentions: bool | None = Noneoutput_hidden_states: bool | None = Nonereturn_dict: bool | None = None**kwargs ) → BaseModelOutputWithPooling or tuple(torch.Tensor)

Paramètres

  • hidden_states (torch.Tensor de forme (batch_size, image_num_patches + text_seq_len, hidden_size)) — Les états cachés concaténés des encodeurs unimodaux.
  • attention_mask (torch.Tensor de forme (batch_size, sequence_length), facultatif) — Masque pour éviter d'appliquer l'attention aux indices des jetons de bourrage. Les valeurs du masque sont choisies dans [0, 1]:
    • 1 pour les jetons qui ne sont pas masqués,
    • 0 pour les jetons masqués.

    Qu'est-ce que les masques d'attention ?

  • output_attentions (bool, facultatif) — Indique s'il faut ou non retourner les tenseurs d'attention de toutes les couches d'attention. Consultez attentions sous les tenseurs retournés pour plus de détails.
  • output_hidden_states (bool, facultatif) — Indique s'il faut retourner les états cachés de toutes les couches. Voir hidden_states sous les tenseurs retournés pour plus de détails.
  • return_dict (bool, facultatif) — Indique s'il faut retourner un ModelOutput plutôt qu'un simple tuple.

Retourne

BaseModelOutputWithPooling ou tuple(torch.Tensor)

Un BaseModelOutputWithPooling ou un tuple de torch.Tensor (si return_dict=False est passé ou lorsque config.return_dict=False) comprenant divers éléments en fonction de la configuration (FlavaConfig) et des entrées.

La méthode forward du modèle FlavaMultimodalModel redéfinit la méthode spéciale __call__.

Bien que la recette de la passe avant doive être définie dans cette fonction, il faut ensuite appeler l'instance Module plutôt que celle-ci, car la première gère l'exécution des étapes de prétraitement et de post-traitement, tandis que la seconde les ignore silencieusement.

  • last_hidden_state (torch.Tensor de forme (batch_size, sequence_length, hidden_size)) — Séquence d'états cachés à la sortie de la dernière couche du modèle.

  • pooler_output (torch.Tensor de forme (batch_size, hidden_size)) — État caché de la dernière couche du premier jeton de la séquence (jeton de classification) après un traitement supplémentaire par les couches utilisées pour la tâche de pré-entraînement auxiliaire. Par exemple, pour les modèles de la famille BERT, cela renvoie le jeton de classification après traitement par une couche linéaire et une fonction d'activation tanh. Les poids de la couche linéaire sont entraînés à partir de l'objectif de prédiction de la phrase suivante (classification) pendant le pré-entraînement.

  • hidden_states (tuple(torch.Tensor), facultatif, renvoyé lorsque output_hidden_states=True est passé ou lorsque config.output_hidden_states=True) — Tuple de torch.Tensor (un pour la sortie des embeddings, si le modèle possède une couche d’embedding, + un pour la sortie de chaque couche) de forme (batch_size, sequence_length, hidden_size).

    États cachés du modèle à la sortie de chaque couche, ainsi que les sorties d'incorporation initiales facultatives.

  • attentions (tuple(torch.Tensor), facultatif, renvoyé lorsque output_attentions=True est passé ou lorsque config.output_attentions=True) — Tuple de torch.Tensor (un par couche) de forme (batch_size, num_heads, sequence_length, sequence_length).

    Poids des attentions après le softmax d'attention, utilisés pour calculer la moyenne pondérée dans les têtes d'auto-attention.

Update on GitHub