Transformers documentation
FLAVA
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
< source >( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Noneimage_config: dict[str, typing.Any] | transformers.configuration_utils.PreTrainedConfig | None = Nonetext_config: dict[str, typing.Any] | transformers.configuration_utils.PreTrainedConfig | None = Nonemultimodal_config: dict[str, typing.Any] | transformers.configuration_utils.PreTrainedConfig | None = Noneimage_codebook_config: dict[str, typing.Any] | transformers.configuration_utils.PreTrainedConfig | None = Nonehidden_size: int = 768layer_norm_eps: float = 1e-12projection_dim: int = 768init_codebook: bool = Truelogit_scale_init_value: float = 2.6592initializer_range: float = 0.02ce_ignore_index: int = -100mim_weight: float = 1.0mlm_weight: float = 1.0global_contrastive_weight: float = 1.0itm_weight: float = 1.0mmm_image_weight: float = 1.0mmm_text_weight: float = 1.0global_backprop_contrastive: bool = Trueskip_unmasked_multimodal_encoder: bool = Truereturn_loss: bool = Truetie_word_embeddings: bool = Trueinitializer_factor: float = 1.0 )
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 initialiserFlavaCodebookConfig. - hidden_size (
int, facultatif, par défaut768) — Dimension des représentations cachées. - layer_norm_eps (
float, facultatif, valeur par défaut1e-12) — L'épsilon utilisé par les couches de normalisation de couche. - projection_dim (
int, facultatif, par défaut768) — Dimension des couches de projection du texte et de la vision. - init_codebook (
bool, facultatif, par défautTrue) — 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éfaut0.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éfautTrue) — 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éfautTrue) — 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éfautTrue) — Indique s'il faut renvoyer la perte ou non - tie_word_embeddings (
bool, facultatif, par défautTrue) — Indique s'il faut lier les embeddings de poids selon la correspondancetied_weights_keysdu modèle. - initializer_factor (
float, facultatif, par défaut1.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.configFlavaTextConfig
classe transformers.FlavaTextConfig
< source >( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Nonevocab_size: int = 30522type_vocab_size: int = 2max_position_embeddings: int = 512hidden_size: int = 768num_hidden_layers: int = 12num_attention_heads: int = 12intermediate_size: int = 3072hidden_act: str = 'gelu'hidden_dropout_prob: float | int = 0.0attention_probs_dropout_prob: float | int = 0.0initializer_range: float = 0.02layer_norm_eps: float = 1e-12pad_token_id: int | None = 0qkv_bias: bool = True )
Paramètres
- vocab_size (
int, facultatif, par défaut30522) — Taille du vocabulaire du modèle. Définit le nombre de jetons différents qui peuvent être représentés parinput_ids. - type_vocab_size (
int, facultatif, par défaut2) — La taille du vocabulaire destoken_type_ids. - max_position_embeddings (
int, facultatif, par défaut512) — La longueur de séquence maximale avec laquelle ce modèle pourrait être utilisé. - hidden_size (
int, facultatif, par défaut768) — Dimension des représentations cachées. - num_hidden_layers (
int, facultatif, par défaut12) — Nombre de couches cachées dans le décodeur Transformer. - num_attention_heads (
int, facultatif, valeur par défaut12) — Nombre de têtes d'attention pour chaque couche d'attention du décodeur Transformer. - intermediate_size (
int, facultatif, par défaut3072) — Dimension des représentations du MLP. - hidden_act (
str, facultatif, par défautgelu) — 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éfaut0.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éfaut0.0) — Le taux de dropout appliqué aux probabilités d'attention. - initializer_range (
float, facultatif, par défaut0.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éfaut1e-12) — L'épsilon utilisé par les couches de normalisation de couche. - pad_token_id (
int, facultatif, par défaut0) — Identifiant du jeton utilisé pour le bourrage dans le vocabulaire. - qkv_bias (
bool, facultatif, par défautTrue) — 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.configFlavaImageConfig
classe transformers.FlavaImageConfig
< source >( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Nonehidden_size: int = 768num_hidden_layers: int = 12num_attention_heads: int = 12intermediate_size: int = 3072hidden_act: str = 'gelu'hidden_dropout_prob: float | int = 0.0attention_probs_dropout_prob: float | int = 0.0initializer_range: float = 0.02layer_norm_eps: float = 1e-12image_size: int | list[int] | tuple[int, int] = 224patch_size: int | list[int] | tuple[int, int] = 16num_channels: int = 3qkv_bias: bool = Truemask_token: bool = Truevocab_size: int = 8192 )
Paramètres
- hidden_size (
int, facultatif, par défaut768) — Dimension des représentations cachées. - num_hidden_layers (
int, facultatif, par défaut12) — Nombre de couches cachées dans le décodeur Transformer. - num_attention_heads (
int, facultatif, valeur par défaut12) — Nombre de têtes d'attention pour chaque couche d'attention du décodeur Transformer. - intermediate_size (
int, facultatif, par défaut3072) — Dimension des représentations du MLP. - hidden_act (
str, facultatif, par défautgelu) — 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éfaut0.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éfaut0.0) — Le taux de dropout appliqué aux probabilités d'attention. - initializer_range (
float, facultatif, par défaut0.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éfaut1e-12) — L'épsilon utilisé par les couches de normalisation de couche. - image_size (
Union[int, list[int], tuple[int, int]], facultatif, par défaut224) — La taille (résolution) de chaque image. - patch_size (
Union[int, list[int], tuple[int, int]], facultatif, par défaut16) — La taille (résolution) de chaque patch. - num_channels (
int, facultatif, par défaut3) — Le nombre de canaux d'entrée. - qkv_bias (
bool, facultatif, par défautTrue) — Indique s'il faut ajouter un biais aux requêtes, clés et valeurs. - mask_token (
bool, facultatif, par défautTrue) — 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éfaut8192) — Taille du vocabulaire du modèle. Définit le nombre de jetons différents qui peuvent être représentés parinput_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.configFlavaMultimodalConfig
classe transformers.FlavaMultimodalConfig
< source >( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Nonehidden_size: int = 768num_hidden_layers: int = 6num_attention_heads: int = 12intermediate_size: int = 3072hidden_act: str = 'gelu'hidden_dropout_prob: float | int = 0.0attention_probs_dropout_prob: float | int = 0.0initializer_range: float = 0.02layer_norm_eps: float = 1e-12qkv_bias: bool = Trueuse_cls_token: bool = True )
Paramètres
- hidden_size (
int, facultatif, par défaut768) — Dimension des représentations cachées. - num_hidden_layers (
int, facultatif, par défaut6) — Nombre de couches cachées dans le décodeur Transformer. - num_attention_heads (
int, facultatif, valeur par défaut12) — Nombre de têtes d'attention pour chaque couche d'attention du décodeur Transformer. - intermediate_size (
int, facultatif, par défaut3072) — Dimension des représentations du MLP. - hidden_act (
str, facultatif, par défautgelu) — 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éfaut0.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éfaut0.0) — Le taux de dropout appliqué aux probabilités d'attention. - initializer_range (
float, facultatif, par défaut0.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éfaut1e-12) — L'épsilon utilisé par les couches de normalisation de couche. - qkv_bias (
bool, facultatif, par défautTrue) — Indique s'il faut ajouter un biais aux requêtes, clés et valeurs. - use_cls_token (
bool, facultatif, par défautTrue) — 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.configFlavaImageCodebookConfig
classe transformers.FlavaImageCodebookConfig
< source >( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Nonenum_groups: int = 4input_channels: int = 3num_blocks_per_group: int = 2hidden_size: int = 256vocab_size: int = 8192freeze: bool = Trueinitializer_range: float = 0.02 )
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éfaut3) — 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éfaut256) — Dimension des représentations cachées. - vocab_size (
int, facultatif, par défaut8192) — Taille du vocabulaire du modèle. Définit le nombre de jetons différents qui peuvent être représentés parinput_ids. - freeze (
bool, par défautTrue) — Indique s'il faut geler les poids du modèle. - initializer_range (
float, facultatif, par défaut0.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.configFlavaProcessor
classe transformers.FlavaProcessor
< source >( image_processor = Nonetokenizer = None**kwargs )
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__
< source >( images: typing.Union[ForwardRef('PIL.Image.Image'), numpy.ndarray, ForwardRef('torch.Tensor'), list['PIL.Image.Image'], list[numpy.ndarray], list['torch.Tensor'], NoneType] = Nonetext: str | list[str] | list[list[str]] | None = Nonevideos: typing.Union[list['PIL.Image.Image'], numpy.ndarray, ForwardRef('torch.Tensor'), list[numpy.ndarray], list['torch.Tensor'], list[list['PIL.Image.Image']], list[list[numpy.ndarray]], list[list['torch.Tensor']], transformers.video_utils.URL, list[transformers.video_utils.URL], list[list[transformers.video_utils.URL]], transformers.video_utils.Path, list[transformers.video_utils.Path], list[list[transformers.video_utils.Path]], NoneType] = Noneaudio: typing.Union[numpy.ndarray, ForwardRef('torch.Tensor'), collections.abc.Sequence[numpy.ndarray], collections.abc.Sequence['torch.Tensor'], NoneType] = None**kwargs: *<class 'transformers.processing_utils.ProcessingKwargs'> )
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éfinissezdo_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éfinissezis_split_into_words=Truepour é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éfinissezdo_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 (
strou TensorType, facultatif) — Si défini, renvoie des tenseurs d'un framework particulier. Les valeurs acceptées sont :'pt': Renvoie des objetstorch.Tensorde PyTorch.'np': Renvoie des objets NumPynp.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
< source >( **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éfautTrue) — 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éfautTrue) — 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 decenter_crop. - resample (
Annotated[Union[int, PILImageResampling, NoneType], None], kwargs, par défaut3) — Filtre de rééchantillonnage à utiliser lors du redimensionnement de l’image. Il peut s’agir de l’une des valeurs de l’enumPILImageResampling. N’a un effet que sido_resizeest défini surTrue. - do_rescale (
bool, kwargs, facultatif, par défautTrue) — Indique s'il faut rééchelonner l'image. - rescale_factor (
float, kwargs, facultatif, valeur par défaut0.00392156862745098) — Facteur de remise à l'échelle appliqué à l'image sido_rescaleest défini surTrue. - do_normalize (
bool, kwargs, facultatif, valeur par défautTrue) — 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 sido_normalizeest défini surTrue. - 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 sido_normalizeest défini surTrue. - 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. Sipad_sizen'est pas fourni, les images seront remplies jusqu'à la hauteur et la largeur maximales du lot. Appliqué uniquement lorsquedo_pad=True. - do_center_crop (
bool, kwargs, facultatif, valeur par défautTrue) — Indique s'il faut effectuer un recadrage centré de l'image. - data_format (
Union[str, ~image_utils.ChannelDimension], kwargs, facultatif) — SeulChannelDimension.FIRSTest 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"ouChannelDimension.FIRST: image au format (num_channels, height, width)."channels_last"ouChannelDimension.LAST: image au format (hauteur, largeur, nombre de canaux)."none"ouChannelDimension.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éfautFalse) — Indique s'il faut retourner le masque d'image. Peut être remplacé par le paramètrereturn_image_maskdanspreprocess. - input_size_patches (
int, kwargs, facultatif, valeur par défaut14) — 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ètreinput_size_patchesdanspreprocess. - total_mask_patches (
int, kwargs, facultatif, valeur par défaut75) — Nombre total de patches qui doivent être masqués. Peut être remplacé par le paramètretotal_mask_patchesdanspreprocess. - mask_group_min_patches (
int, kwargs, facultatif, valeur par défaut16) — Nombre minimal de patches qui doivent être masqués. Peut être remplacé par le paramètremask_group_min_patchesdepreprocess. - mask_group_max_patches (
int, kwargs, facultatif) — Nombre maximal de patches qui doivent être masqués. Peut être remplacé par le paramètremask_group_max_patchesdepreprocess. - mask_group_min_aspect_ratio (
float, kwargs, facultatif, valeur par défaut0.3) — Ratio d’aspect minimal de la fenêtre de masque. Peut être remplacé par le paramètremask_group_min_aspect_ratiodanspreprocess. - mask_group_max_aspect_ratio (
float, kwargs, facultatif) — Ratio d’aspect maximal de la fenêtre de masque. Peut être remplacé par le paramètremask_group_max_aspect_ratiodanspreprocess. - return_codebook_pixels (
bool, kwargs, facultatif, par défautFalse) — Indique s'il faut renvoyer les valeurs de pixels du codebook. - codebook_do_resize (
bool, kwargs, facultatif, valeur par défautTrue) — Indique s'il faut redimensionner l'entrée du codebook à une certaine taille. Peut être remplacé par le paramètrecodebook_do_resizedepreprocess.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ètrecodebook_sizedanspreprocess. - codebook_resample (
PILImageResampling, kwargs, optionnel, par défautPILImageResampling.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ètrecodebook_resampledanspreprocess. - codebook_do_center_crop (
bool, kwargs, facultatif, valeur par défautTrue) — 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_sizele long d'un des bords, l'image est rembourrée avec des 0 puis recadrée au centre. Peut être remplacé par le paramètrecodebook_do_center_cropdanspreprocess. - 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ètrecodebook_crop_sizedanspreprocess. - codebook_do_rescale (
bool, kwargs, facultatif, valeur par défautTrue) — Indique s'il faut rééchelonner l'entrée pour le codebook par l'échelle spécifiéecodebook_rescale_factor. Peut être remplacé par le paramètrecodebook_do_rescaledanspreprocess. - codebook_rescale_factor (
int, kwargs oufloat, facultatif, valeur par défaut1/255) — Définit le facteur d’échelle à utiliser lors du redimensionnement de l’image du codebook. Peut être remplacé par le paramètrecodebook_rescale_factordanspreprocess. - codebook_do_map_pixels (
bool, kwargs, facultatif, valeur par défautTrue) — 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ètrecodebook_do_map_pixelsdanspreprocess. - codebook_do_normalize (
bool, kwargs, facultatif, valeur par défautTrue) — Indique s'il faut normaliser l'entrée pour le codebook à l'aide decodebook_image_meanetcodebook_image_std. Peut être remplacé par le paramètrecodebook_do_normalizedanspreprocess. - 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ètrecodebook_image_meandanspreprocess. - 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ètrecodebook_image_stddanspreprocess.
Construit un processeur d’images FlavaImageProcessor.
prétraiter
< source >( images: typing.Union[ForwardRef('PIL.Image.Image'), numpy.ndarray, ForwardRef('torch.Tensor'), list['PIL.Image.Image'], list[numpy.ndarray], list['torch.Tensor']]**kwargs: *<class 'transformers.models.flava.image_processing_flava.FlavaImageProcessorKwargs'> ) → ~image_processing_base.BatchFeature
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éfinissezdo_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 decenter_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’enumPILImageResampling. N’a un effet que sido_resizeest défini surTrue. - 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 sido_rescaleest défini surTrue. - 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 sido_normalizeest défini surTrue. - image_std (
Union[float, list[float], tuple[float, ...]], kwargs, facultatif) — Écart-type de l'image à utiliser pour la normalisation. N'a un effet que sido_normalizeest défini surTrue. - 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. Sipad_sizen'est pas fourni, les images seront remplies jusqu'à la hauteur et la largeur maximales du lot. Appliqué uniquement lorsquedo_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) — SeulChannelDimension.FIRSTest 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"ouChannelDimension.FIRST: image au format (num_channels, height, width)."channels_last"ouChannelDimension.LAST: image au format (hauteur, largeur, nombre de canaux)."none"ouChannelDimension.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éfautFalse) — Indique s'il faut retourner le masque d'image. Peut être remplacé par le paramètrereturn_image_maskdanspreprocess. - input_size_patches (
int, kwargs, facultatif, valeur par défaut14) — 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ètreinput_size_patchesdanspreprocess. - total_mask_patches (
int, kwargs, facultatif, valeur par défaut75) — Nombre total de patches qui doivent être masqués. Peut être remplacé par le paramètretotal_mask_patchesdanspreprocess. - mask_group_min_patches (
int, kwargs, facultatif, valeur par défaut16) — Nombre minimal de patches qui doivent être masqués. Peut être remplacé par le paramètremask_group_min_patchesdepreprocess. - mask_group_max_patches (
int, kwargs, facultatif) — Nombre maximal de patches qui doivent être masqués. Peut être remplacé par le paramètremask_group_max_patchesdepreprocess. - mask_group_min_aspect_ratio (
float, kwargs, facultatif, valeur par défaut0.3) — Ratio d’aspect minimal de la fenêtre de masque. Peut être remplacé par le paramètremask_group_min_aspect_ratiodanspreprocess. - mask_group_max_aspect_ratio (
float, kwargs, facultatif) — Ratio d’aspect maximal de la fenêtre de masque. Peut être remplacé par le paramètremask_group_max_aspect_ratiodanspreprocess. - return_codebook_pixels (
bool, kwargs, facultatif, par défautFalse) — Indique s'il faut renvoyer les valeurs de pixels du codebook. - codebook_do_resize (
bool, kwargs, facultatif, valeur par défautTrue) — Indique s'il faut redimensionner l'entrée du codebook à une certaine taille. Peut être remplacé par le paramètrecodebook_do_resizedepreprocess.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ètrecodebook_sizedanspreprocess. - codebook_resample (
PILImageResampling, kwargs, optionnel, par défautPILImageResampling.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ètrecodebook_resampledanspreprocess. - codebook_do_center_crop (
bool, kwargs, facultatif, valeur par défautTrue) — 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_sizele long d'un des bords, l'image est rembourrée avec des 0 puis recadrée au centre. Peut être remplacé par le paramètrecodebook_do_center_cropdanspreprocess. - 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ètrecodebook_crop_sizedanspreprocess. - codebook_do_rescale (
bool, kwargs, facultatif, valeur par défautTrue) — Indique s'il faut rééchelonner l'entrée pour le codebook par l'échelle spécifiéecodebook_rescale_factor. Peut être remplacé par le paramètrecodebook_do_rescaledanspreprocess. - codebook_rescale_factor (
int, kwargs oufloat, facultatif, valeur par défaut1/255) — Définit le facteur d’échelle à utiliser lors du redimensionnement de l’image du codebook. Peut être remplacé par le paramètrecodebook_rescale_factordanspreprocess. - codebook_do_map_pixels (
bool, kwargs, facultatif, valeur par défautTrue) — 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ètrecodebook_do_map_pixelsdanspreprocess. - codebook_do_normalize (
bool, kwargs, facultatif, valeur par défautTrue) — Indique s'il faut normaliser l'entrée pour le codebook à l'aide decodebook_image_meanetcodebook_image_std. Peut être remplacé par le paramètrecodebook_do_normalizedanspreprocess. - 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ètrecodebook_image_meandanspreprocess. - 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ètrecodebook_image_stddanspreprocess.
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
< source >( **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éfautTrue) — 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éfautTrue) — 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 decenter_crop. - resample (
Annotated[Union[int, PILImageResampling, NoneType], None], kwargs, par défaut3) — Filtre de rééchantillonnage à utiliser lors du redimensionnement de l’image. Il peut s’agir de l’une des valeurs de l’enumPILImageResampling. N’a un effet que sido_resizeest défini surTrue. - do_rescale (
bool, kwargs, facultatif, par défautTrue) — Indique s'il faut rééchelonner l'image. - rescale_factor (
float, kwargs, facultatif, valeur par défaut0.00392156862745098) — Facteur de remise à l'échelle appliqué à l'image sido_rescaleest défini surTrue. - do_normalize (
bool, kwargs, facultatif, valeur par défautTrue) — 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 sido_normalizeest défini surTrue. - 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 sido_normalizeest défini surTrue. - 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. Sipad_sizen'est pas fourni, les images seront remplies jusqu'à la hauteur et la largeur maximales du lot. Appliqué uniquement lorsquedo_pad=True. - do_center_crop (
bool, kwargs, facultatif, valeur par défautTrue) — Indique s'il faut effectuer un recadrage centré de l'image. - data_format (
Union[str, ~image_utils.ChannelDimension], kwargs, facultatif) — SeulChannelDimension.FIRSTest 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"ouChannelDimension.FIRST: image au format (num_channels, height, width)."channels_last"ouChannelDimension.LAST: image au format (hauteur, largeur, nombre de canaux)."none"ouChannelDimension.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éfautFalse) — Indique s'il faut retourner le masque d'image. Peut être remplacé par le paramètrereturn_image_maskdanspreprocess. - input_size_patches (
int, kwargs, facultatif, valeur par défaut14) — 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ètreinput_size_patchesdanspreprocess. - total_mask_patches (
int, kwargs, facultatif, valeur par défaut75) — Nombre total de patches qui doivent être masqués. Peut être remplacé par le paramètretotal_mask_patchesdanspreprocess. - mask_group_min_patches (
int, kwargs, facultatif, valeur par défaut16) — Nombre minimal de patches qui doivent être masqués. Peut être remplacé par le paramètremask_group_min_patchesdepreprocess. - mask_group_max_patches (
int, kwargs, facultatif) — Nombre maximal de patches qui doivent être masqués. Peut être remplacé par le paramètremask_group_max_patchesdepreprocess. - mask_group_min_aspect_ratio (
float, kwargs, facultatif, valeur par défaut0.3) — Ratio d’aspect minimal de la fenêtre de masque. Peut être remplacé par le paramètremask_group_min_aspect_ratiodanspreprocess. - mask_group_max_aspect_ratio (
float, kwargs, facultatif) — Ratio d’aspect maximal de la fenêtre de masque. Peut être remplacé par le paramètremask_group_max_aspect_ratiodanspreprocess. - return_codebook_pixels (
bool, kwargs, facultatif, par défautFalse) — Indique s'il faut renvoyer les valeurs de pixels du codebook. - codebook_do_resize (
bool, kwargs, facultatif, valeur par défautTrue) — Indique s'il faut redimensionner l'entrée du codebook à une certaine taille. Peut être remplacé par le paramètrecodebook_do_resizedepreprocess.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ètrecodebook_sizedanspreprocess. - codebook_resample (
PILImageResampling, kwargs, optionnel, par défautPILImageResampling.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ètrecodebook_resampledanspreprocess. - codebook_do_center_crop (
bool, kwargs, facultatif, valeur par défautTrue) — 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_sizele long d'un des bords, l'image est rembourrée avec des 0 puis recadrée au centre. Peut être remplacé par le paramètrecodebook_do_center_cropdanspreprocess. - 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ètrecodebook_crop_sizedanspreprocess. - codebook_do_rescale (
bool, kwargs, facultatif, valeur par défautTrue) — Indique s'il faut rééchelonner l'entrée pour le codebook par l'échelle spécifiéecodebook_rescale_factor. Peut être remplacé par le paramètrecodebook_do_rescaledanspreprocess. - codebook_rescale_factor (
int, kwargs oufloat, facultatif, valeur par défaut1/255) — Définit le facteur d’échelle à utiliser lors du redimensionnement de l’image du codebook. Peut être remplacé par le paramètrecodebook_rescale_factordanspreprocess. - codebook_do_map_pixels (
bool, kwargs, facultatif, valeur par défautTrue) — 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ètrecodebook_do_map_pixelsdanspreprocess. - codebook_do_normalize (
bool, kwargs, facultatif, valeur par défautTrue) — Indique s'il faut normaliser l'entrée pour le codebook à l'aide decodebook_image_meanetcodebook_image_std. Peut être remplacé par le paramètrecodebook_do_normalizedanspreprocess. - 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ètrecodebook_image_meandanspreprocess. - 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ètrecodebook_image_stddanspreprocess.
Construit un processeur d’images FlavaImageProcessor.
prétraiter
< source >( images: typing.Union[ForwardRef('PIL.Image.Image'), numpy.ndarray, ForwardRef('torch.Tensor'), list['PIL.Image.Image'], list[numpy.ndarray], list['torch.Tensor']]**kwargs: *<class 'transformers.models.flava.image_processing_pil_flava.FlavaImageProcessorKwargs'> ) → ~image_processing_base.BatchFeature
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éfinissezdo_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 decenter_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’enumPILImageResampling. N’a un effet que sido_resizeest défini surTrue. - 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 sido_rescaleest défini surTrue. - 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 sido_normalizeest défini surTrue. - image_std (
Union[float, list[float], tuple[float, ...]], kwargs, facultatif) — Écart-type de l'image à utiliser pour la normalisation. N'a un effet que sido_normalizeest défini surTrue. - 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. Sipad_sizen'est pas fourni, les images seront remplies jusqu'à la hauteur et la largeur maximales du lot. Appliqué uniquement lorsquedo_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) — SeulChannelDimension.FIRSTest 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"ouChannelDimension.FIRST: image au format (num_channels, height, width)."channels_last"ouChannelDimension.LAST: image au format (hauteur, largeur, nombre de canaux)."none"ouChannelDimension.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éfautFalse) — Indique s'il faut retourner le masque d'image. Peut être remplacé par le paramètrereturn_image_maskdanspreprocess. - input_size_patches (
int, kwargs, facultatif, valeur par défaut14) — 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ètreinput_size_patchesdanspreprocess. - total_mask_patches (
int, kwargs, facultatif, valeur par défaut75) — Nombre total de patches qui doivent être masqués. Peut être remplacé par le paramètretotal_mask_patchesdanspreprocess. - mask_group_min_patches (
int, kwargs, facultatif, valeur par défaut16) — Nombre minimal de patches qui doivent être masqués. Peut être remplacé par le paramètremask_group_min_patchesdepreprocess. - mask_group_max_patches (
int, kwargs, facultatif) — Nombre maximal de patches qui doivent être masqués. Peut être remplacé par le paramètremask_group_max_patchesdepreprocess. - mask_group_min_aspect_ratio (
float, kwargs, facultatif, valeur par défaut0.3) — Ratio d’aspect minimal de la fenêtre de masque. Peut être remplacé par le paramètremask_group_min_aspect_ratiodanspreprocess. - mask_group_max_aspect_ratio (
float, kwargs, facultatif) — Ratio d’aspect maximal de la fenêtre de masque. Peut être remplacé par le paramètremask_group_max_aspect_ratiodanspreprocess. - return_codebook_pixels (
bool, kwargs, facultatif, par défautFalse) — Indique s'il faut renvoyer les valeurs de pixels du codebook. - codebook_do_resize (
bool, kwargs, facultatif, valeur par défautTrue) — Indique s'il faut redimensionner l'entrée du codebook à une certaine taille. Peut être remplacé par le paramètrecodebook_do_resizedepreprocess.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ètrecodebook_sizedanspreprocess. - codebook_resample (
PILImageResampling, kwargs, optionnel, par défautPILImageResampling.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ètrecodebook_resampledanspreprocess. - codebook_do_center_crop (
bool, kwargs, facultatif, valeur par défautTrue) — 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_sizele long d'un des bords, l'image est rembourrée avec des 0 puis recadrée au centre. Peut être remplacé par le paramètrecodebook_do_center_cropdanspreprocess. - 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ètrecodebook_crop_sizedanspreprocess. - codebook_do_rescale (
bool, kwargs, facultatif, valeur par défautTrue) — Indique s'il faut rééchelonner l'entrée pour le codebook par l'échelle spécifiéecodebook_rescale_factor. Peut être remplacé par le paramètrecodebook_do_rescaledanspreprocess. - codebook_rescale_factor (
int, kwargs oufloat, facultatif, valeur par défaut1/255) — Définit le facteur d’échelle à utiliser lors du redimensionnement de l’image du codebook. Peut être remplacé par le paramètrecodebook_rescale_factordanspreprocess. - codebook_do_map_pixels (
bool, kwargs, facultatif, valeur par défautTrue) — 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ètrecodebook_do_map_pixelsdanspreprocess. - codebook_do_normalize (
bool, kwargs, facultatif, valeur par défautTrue) — Indique s'il faut normaliser l'entrée pour le codebook à l'aide decodebook_image_meanetcodebook_image_std. Peut être remplacé par le paramètrecodebook_do_normalizedanspreprocess. - 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ètrecodebook_image_meandanspreprocess. - 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ètrecodebook_image_stddanspreprocess.
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
< source >( 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
< source >( input_ids: typing.Optional[torch.LongTensor] = Noneinput_ids_masked: typing.Optional[torch.LongTensor] = Nonepixel_values: typing.Optional[torch.Tensor] = Nonecodebook_pixel_values: typing.Optional[torch.Tensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Nonetoken_type_ids: typing.Optional[torch.Tensor] = Nonebool_masked_pos: typing.Optional[torch.Tensor] = Noneposition_ids: typing.Optional[torch.LongTensor] = Noneimage_attention_mask: typing.Optional[torch.Tensor] = Noneskip_unmasked_multimodal_encoder: bool | None = Nonemlm_labels: typing.Optional[torch.Tensor] = Nonemim_labels: typing.Optional[torch.Tensor] = Noneitm_labels: typing.Optional[torch.Tensor] = Noneoutput_attentions: bool | None = Noneoutput_hidden_states: bool = Truereturn_dict: bool | None = Nonereturn_loss: bool | None = None**kwargs ) → FlavaForPreTrainingOutput or tuple(torch.Tensor)
Paramètres
- input_ids (
torch.LongTensorde 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.LongTensorde 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 avecDataCollatorForMaskedLanguageModeling. Consultez PreTrainedTokenizer.encode() et PreTrainedTokenizer.call() pour plus de détails. Que sont les identifiants d’entrée ? - pixel_values (
torch.Tensorde 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.Tensorde 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.Tensorde 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.
- token_type_ids (
torch.LongTensorde 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]:- 0 correspond à un jeton sentence A,
- 1 correspond à un jeton sentence B. Qu'est-ce que les identifiants de type de jeton ?
- bool_masked_pos (
torch.BoolTensorde 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.LongTensorde 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]. - image_attention_mask (
torch.Tensorde 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]:- 1 pour les jetons qui ne sont pas masqués,
- 0 pour les jetons masqués. Qu'est-ce que les masques d'attention ?
- 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.LongTensorde 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 deinput_ids). Les jetons dont l'indice est défini sur-100sont 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.LongTensorde 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-100sont 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.LongTensorde 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. Consultezattentionssous les tenseurs retournés pour plus de détails. - output_hidden_states (
bool, facultatif, par défautTrue) — Indique s'il faut retourner les états cachés de toutes les couches. Voirhidden_statessous 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
Moduleplutô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é lorsquereturn_lossest 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 classeFlavaLossespour connaître les clés. - image_embeddings (
torch.Tensorde forme(batch_size, output_dim), facultatif, renvoyé lorsquepixel_valuessont présents) — Les embeddings d’image, qui correspondent essentiellement à la sortie agrégée de FlavaImageModel. - image_output (
BaseModelOutputWithPooling, facultatif, renvoyé lorsquepixel_valuessont présents) — La sortie du FlavaImageModel. - text_embeddings (
torch.Tensorde forme(batch_size, output_dim), facultatif, renvoyé lorsqueinput_idsest présent) — Les embeddings de texte, qui correspondent essentiellement à la sortie agrégée de FlavaTextModel. - text_output (
BaseModelOutputWithPooling, facultatif, renvoyé lorsqueinput_idssont présents) — La sortie du FlavaTextModel. - multimodal_embeddings (
torch.Tensorde forme(batch_size, output_dim), facultatif, renvoyé lorsqueinput_idsetpixel_valuessont présents et queskip_unmasked_multimodal_encoderestNoneouFalse) — Les embeddings multimodaux, qui correspondent essentiellement à la sortie agrégée de FlavaTextModel. - multimodal_output (
BaseModelOutputWithPooling, renvoyé lorsqueinput_idsetpixel_valuessont présents et queskip_unmasked_multimodal_encoderestNoneouFalse) — La sortie du FlavaMultimodalModel. - image_masked_embeddings (
torch.Tensorde forme(batch_size, output_dim), facultatif, renvoyé lorsquepixel_valuessont présents) — Les embeddings d’image, qui correspondent essentiellement à la sortie agrégée de FlavaImageModel. Utilisebool_masked_pospour créer des images masquées. - image_masked_output (
BaseModelOutputWithPooling, facultatif, renvoyé lorsquepixel_valuessont présents) — La sortie du FlavaImageModel. Utilisebool_masked_pospour créer des images masquées. - text_masked_embeddings (
torch.Tensorde forme(batch_size, output_dim), facultatif, renvoyé lorsqueinput_ids_maskedest présent) — Les embeddings de texte, qui correspondent essentiellement à la sortie agrégée de FlavaTextModel. - text_masked_output (
BaseModelOutputWithPooling, facultatif, renvoyé lorsqueinput_ids_maskedsont présents) — La sortie du FlavaTextModel. - multimodal_masked_embeddings (
torch.Tensorde forme(batch_size, output_dim), facultatif, renvoyé lorsqueinput_idsetpixel_valuessont présents) — Les embeddings multimodaux, qui correspondent essentiellement à la sortie agrégée de FlavaTextModel. - multimodal_masked_output (
BaseModelOutputWithPooling, facultatif, renvoyé lorsqueinput_ids_maskedetpixel_valuessont présents) — La sortie du FlavaMultimodalModel. - mim_logits (
torch.Tensorde forme(batch_size, num_image_patches, image_vocab_size)ou de forme(total_masked_patches, image_vocab_size), facultatif, renvoyé lorsquepixel_valuessont présents et queinput_ids_maskedne le sont pas) — Les logits pour la perte unimodale MIM. Utilisebool_masked_pospour obtenir les patches masqués. La sortie aplatie est renvoyée lorsquebool_masked_posmasque certains des patches. - mlm_logits (
torch.Tensorde forme(batch_size, text_seq_length, text_vocab_size)ou de forme(total_masked_seq_length, text_vocab_size), facultatif, renvoyé lorsqueinput_ids_maskedsont présents et quepixel_valuesne le sont pas) — Les logits pour la perte unimodale MLM. La sortie aplatie est renvoyée lorsqueinput_ids_maskedmasque certains des jetons. - itm_logits (
torch.Tensorde forme(batch_size, 2), facultatif, renvoyé lorsqueinput_ids_maskedetpixel_valuessont 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.Tensorde forme(image_batch_size, text_batch_size)) — Les scores de produit scalaire normalisé entreimage_embeddingsettext_embeddings, mais passés respectivement par les couchesimage_projectionettext_projectionde 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.Tensorde forme(text_batch_size, image_batch_size)) — Les scores de produit scalaire normalisés entretext_embeddingsetimage_embeddings, mais passés respectivement par les couchestext_projectionetimage_projectionde FLAVA. Ce calcul est effectué sur des images et des textes non masqués. - mmm_image_logits (
torch.Tensorde forme(batch_size, num_image_patches, image_vocab_size)ou de forme(total_masked_patches, image_vocab_size), facultatif, renvoyé lorsquepixel_valuesetinput_ids_maskedsont présents) — Les logits pour la perte multimodale d’image MMM. Utilisebool_masked_pospour obtenir les patches masqués. La sortie aplatie est renvoyée lorsquebool_masked_posmasque certains des patches. - mmm_text_logits (
torch.Tensorde forme(batch_size, text_seq_length, text_vocab_size)ou de forme(total_masked_seq_length, text_vocab_size), facultatif, renvoyé lorsquepixel_valuesetinput_ids_maskedsont présents) — Les logits pour la perte multimodale de texte MMM. La sortie aplatie est renvoyée lorsqueinput_ids_maskeda 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
< source >( 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
< source >( input_ids: typing.Optional[torch.LongTensor] = Nonepixel_values: typing.Optional[torch.Tensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Nonetoken_type_ids: typing.Optional[torch.Tensor] = Nonebool_masked_pos: typing.Optional[torch.Tensor] = Noneposition_ids: typing.Optional[torch.LongTensor] = Noneimage_attention_mask: typing.Optional[torch.Tensor] = Noneskip_multimodal_encoder: bool | None = Noneoutput_attentions: bool | None = Noneoutput_hidden_states: bool = Truereturn_dict: bool | None = None**kwargs ) → FlavaModelOutput or tuple(torch.Tensor)
Paramètres
- input_ids (
torch.LongTensorde 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.Tensorde 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.Tensorde 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.
- token_type_ids (
torch.LongTensorde 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]:- 0 correspond à un jeton sentence A,
- 1 correspond à un jeton sentence B. Qu'est-ce que les identifiants de type de jeton ?
- bool_masked_pos (
torch.BoolTensorde 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.LongTensorde 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]. - image_attention_mask (
torch.Tensorde 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. Consultezattentionssous les tenseurs retournés pour plus de détails. - output_hidden_states (
bool, facultatif, par défautTrue) — Indique s'il faut retourner les états cachés de toutes les couches. Voirhidden_statessous 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
Moduleplutô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.Tensorde forme(batch_size, output_dim), facultatif, renvoyé lorsquepixel_valuessont présents) — Les embeddings d’image, qui correspondent essentiellement à la sortie agrégée de FlavaImageModel. - image_output (
BaseModelOutputWithPooling, facultatif, renvoyé lorsquepixel_valuessont présents) — La sortie du FlavaImageModel. - text_embeddings (
torch.Tensorde forme(batch_size, output_dim), facultatif, renvoyé lorsqueinput_idsest présent) — Les embeddings de texte, qui correspondent essentiellement à la sortie agrégée de FlavaTextModel. - text_output (
BaseModelOutputWithPooling, facultatif, renvoyé lorsqueinput_idssont présents) — La sortie du FlavaTextModel. - multimodal_embeddings (
torch.Tensorde forme(batch_size, output_dim), facultatif, renvoyé lorsqueinput_idsetpixel_valuessont présents et queskip_multimodal_encoderestNoneouFalse) — Les embeddings multimodaux, qui correspondent essentiellement à la sortie agrégée de FlavaTextModel. - multimodal_output (
BaseModelOutputWithPooling, renvoyé lorsqueinput_idsetpixel_valuessont présents et queskip_multimodal_encoderestNoneouFalse) — 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
< source >( input_ids: Tensorattention_mask: typing.Optional[torch.Tensor] = Nonetoken_type_ids: typing.Optional[torch.Tensor] = Noneposition_ids: typing.Optional[torch.Tensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → BaseModelOutputWithPooling or tuple(torch.Tensor)
Paramètres
- input_ids (
torch.LongTensorde 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.Tensorde 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.
- token_type_ids (
torch.LongTensorde 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]:- 0 correspond à un jeton sentence A,
- 1 correspond à un jeton sentence B. Qu'est-ce que les identifiants de type de jeton ?
- position_ids (
torch.Tensorde 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].
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.Tensorde 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.Tensorde 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é lorsqueoutput_hidden_states=Trueest passé ou lorsqueconfig.output_hidden_states=True) — Tuple detorch.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é lorsqueoutput_attentions=Trueest passé ou lorsqueconfig.output_attentions=True) — Tuple detorch.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
< source >( pixel_values: Tensorbool_masked_pos: typing.Optional[torch.BoolTensor] = Noneinterpolate_pos_encoding: bool | None = Noneattention_mask: typing.Optional[torch.Tensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → BaseModelOutputWithPooling or tuple(torch.Tensor)
Paramètres
- pixel_values (
torch.Tensorde 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.BoolTensorde 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.Tensorde 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.
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.Tensorde 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.Tensorde 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é lorsqueoutput_hidden_states=Trueest passé ou lorsqueconfig.output_hidden_states=True) — Tuple detorch.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é lorsqueoutput_attentions=Trueest passé ou lorsqueconfig.output_attentions=True) — Tuple detorch.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
< source >( 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.
FlavaTextModel
classe transformers.FlavaTextModel
< source >( 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éfautTrue) — 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
< source >( input_ids: typing.Optional[torch.Tensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Nonetoken_type_ids: typing.Optional[torch.Tensor] = Noneposition_ids: typing.Optional[torch.Tensor] = Noneoutput_attentions: bool | None = Noneoutput_hidden_states: bool | None = Nonereturn_dict: bool | None = None**kwargs ) → BaseModelOutputWithPooling or tuple(torch.Tensor)
Paramètres
- input_ids (
torch.LongTensorde 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.Tensorde 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.
- token_type_ids (
torch.LongTensorde 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]:- 0 correspond à un jeton sentence A,
- 1 correspond à un jeton sentence B. Qu'est-ce que les identifiants de type de jeton ?
- position_ids (
torch.Tensorde 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]. - output_attentions (
bool, facultatif) — Indique s'il faut ou non retourner les tenseurs d'attention de toutes les couches d'attention. Consultezattentionssous 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. Voirhidden_statessous 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
Moduleplutô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.Tensorde 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.Tensorde 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é lorsqueoutput_hidden_states=Trueest passé ou lorsqueconfig.output_hidden_states=True) — Tuple detorch.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é lorsqueoutput_attentions=Trueest passé ou lorsqueconfig.output_attentions=True) — Tuple detorch.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
< source >( 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éfautTrue) — 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
< source >( pixel_values: typing.Optional[torch.Tensor] = Nonebool_masked_pos: typing.Optional[torch.BoolTensor] = Noneinterpolate_pos_encoding: bool | None = Noneattention_mask: typing.Optional[torch.Tensor] = Noneoutput_attentions: bool | None = Noneoutput_hidden_states: bool | None = Nonereturn_dict: bool | None = None**kwargs ) → BaseModelOutputWithPooling or tuple(torch.Tensor)
Paramètres
- pixel_values (
torch.Tensorde 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.BoolTensorde 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.Tensorde 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.
- output_attentions (
bool, facultatif) — Indique s'il faut ou non retourner les tenseurs d'attention de toutes les couches d'attention. Consultezattentionssous 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. Voirhidden_statessous 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
Moduleplutô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.Tensorde 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.Tensorde 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é lorsqueoutput_hidden_states=Trueest passé ou lorsqueconfig.output_hidden_states=True) — Tuple detorch.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é lorsqueoutput_attentions=Trueest passé ou lorsqueconfig.output_attentions=True) — Tuple detorch.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
< source >( 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éfautTrue) — 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
< source >( hidden_states: Tensorattention_mask: typing.Optional[torch.Tensor] = Noneoutput_attentions: bool | None = Noneoutput_hidden_states: bool | None = Nonereturn_dict: bool | None = None**kwargs ) → BaseModelOutputWithPooling or tuple(torch.Tensor)
Paramètres
- hidden_states (
torch.Tensorde forme(batch_size, image_num_patches + text_seq_len, hidden_size)) — Les états cachés concaténés des encodeurs unimodaux. - attention_mask (
torch.Tensorde 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.
- output_attentions (
bool, facultatif) — Indique s'il faut ou non retourner les tenseurs d'attention de toutes les couches d'attention. Consultezattentionssous 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. Voirhidden_statessous 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
Moduleplutô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.Tensorde 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.Tensorde 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é lorsqueoutput_hidden_states=Trueest passé ou lorsqueconfig.output_hidden_states=True) — Tuple detorch.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é lorsqueoutput_attentions=Trueest passé ou lorsqueconfig.output_attentions=True) — Tuple detorch.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.