Transformers documentation
LayoutXLM
Ce modèle a été publié dans HF papers le 2021-04-18 et ajouté à Hugging Face Transformers le 2021-11-03.
LayoutXLM
Aperçu
LayoutXLM a été proposé dans LayoutXLM: Multimodal Pre-training for Multilingual Visually-rich Document Understanding par Yiheng Xu, Tengchao Lv, Lei Cui, Guoxin Wang, Yijuan Lu, Dinei Florencio, Cha Zhang, Furu Wei. C’est une extension multilingue du modèle LayoutLMv2 entraîné sur 53 langues.
L'abstract de l'article est le suivant :
La pré-formation multimodale avec du texte, la mise en page et des images a récemment atteint des performances SOTA pour les tâches de compréhension de documents visuellement riches, ce qui démontre le grand potentiel de l’apprentissage conjoint entre différentes modalités. Dans cet article, nous présentons LayoutXLM, un modèle pré-entraîné multimodal pour la compréhension de documents multilingues, qui vise à combler les barrières linguistiques pour la compréhension de documents visuellement riches. Pour évaluer précisément LayoutXLM, nous introduisons également un jeu de données de référence pour la compréhension de formulaires multilingues nommé XFUN, qui comprend des échantillons de compréhension de formulaires dans 7 langues (chinois, japonais, espagnol, français, italien, allemand, portugais), et les paires clé-valeur sont étiquetées manuellement pour chaque langue. Les résultats expérimentaux montrent que le modèle LayoutXLM a significativement surpassé les modèles pré-entraînés interlinguistiques SOTA existants sur le jeu de données XFUN.
Ce modèle a été contribué par nielsr. Le code d'origine peut être trouvé ici.
Conseils et exemples d'utilisation
On peut directement insérer les poids de LayoutXLM dans un modèle LayoutLMv2, comme suit :
from transformers import LayoutLMv2Model
model = LayoutLMv2Model.from_pretrained("microsoft/layoutxlm-base", device_map="auto")Notez que LayoutXLM possède son propre tokenizer, basé sur LayoutXLMTokenizer/LayoutXLMTokenizerFast. Vous pouvez l'initialiser comme suit :
from transformers import LayoutXLMTokenizer
tokenizer = LayoutXLMTokenizer.from_pretrained("microsoft/layoutxlm-base")De manière similaire à LayoutLMv2, vous pouvez utiliser LayoutXLMProcessor (qui applique en interne LayoutLMv2ImageProcessor puis LayoutXLMTokenizer/LayoutXLMTokenizerFast de manière séquentielle) pour préparer toutes les données destinées au modèle.
L’architecture de LayoutXLM étant équivalente à celle de LayoutLMv2, on peut se référer à la page de documentation de LayoutLMv2 pour tous les conseils, exemples de code et notebooks.
LayoutXLMConfig
classe transformers.LayoutXLMConfig
< 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 = 30522hidden_size: int = 768num_hidden_layers: int = 12num_attention_heads: int = 12intermediate_size: int = 3072hidden_act: str = 'gelu'hidden_dropout_prob: float | int = 0.1attention_probs_dropout_prob: float | int = 0.1max_position_embeddings: int = 512type_vocab_size: int = 2initializer_range: float = 0.02layer_norm_eps: float = 1e-12pad_token_id: int | None = 0max_2d_position_embeddings: int = 1024max_rel_pos: int = 128rel_pos_bins: int = 32fast_qkv: bool = Truemax_rel_2d_pos: int = 256rel_2d_pos_bins: int = 64convert_sync_batchnorm: bool = Trueimage_feature_pool_shape: list[int] | tuple[int, ...] = (7, 7, 256)coordinate_size: int = 128shape_size: int = 128has_relative_attention_bias: bool = Truehas_spatial_attention_bias: bool = Truehas_visual_segment_embedding: bool = Falsedetectron2_config_args: dict | None = None )
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. - 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.1) — 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.1) — Le taux de dropout appliqué aux probabilités d'attention. - max_position_embeddings (
int, facultatif, par défaut512) — La longueur de séquence maximale avec laquelle ce modèle pourrait être utilisé. - type_vocab_size (
int, facultatif, par défaut2) — La taille du vocabulaire destoken_type_ids. - 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. - max_2d_position_embeddings (
int, facultatif, valeur par défaut 1024) — La valeur maximale avec laquelle l’embedding de position 2D pourrait être utilisé. Il est généralement recommandé de définir cette valeur sur un nombre élevé par précaution (par exemple, 1024). - max_rel_pos (
int, facultatif, valeur par défaut 128) — Le nombre maximal de positions relatives à utiliser dans le mécanisme d'auto-attention. - rel_pos_bins (
int, facultatif, valeur par défaut 32) — Le nombre de bins de position relative à utiliser dans le mécanisme d'auto-attention. - fast_qkv (
bool, facultatif, par défautTrue) — Indique s'il faut utiliser une seule matrice pour les requêtes, clés et valeurs dans les couches d'auto-attention. - max_rel_2d_pos (
int, facultatif, valeur par défaut 256) — Le nombre maximal de positions relatives 2D dans le mécanisme d'auto-attention. - rel_2d_pos_bins (
int, facultatif, valeur par défaut 64) — Le nombre de bins de position relative 2D dans le mécanisme d'auto-attention. - convert_sync_batchnorm (
bool, facultatif, par défautTrue) — Indique s'il faut convertir les couches de normalisation par lot en couches de normalisation par lot synchronisées. - image_feature_pool_shape (
list[int], facultatif, par défaut[7, 7, 256]) — La forme de la carte de caractéristiques moyennée. - coordinate_size (
int, facultatif, par défaut 128) — Dimension des embeddings de coordonnées. - shape_size (
int, facultatif, par défaut 128) — Dimension des embeddings de largeur et de hauteur. - has_relative_attention_bias (
bool, facultatif, par défautTrue) — Indique s'il faut utiliser un biais d'attention relatif dans le mécanisme d'auto-attention. - has_spatial_attention_bias (
bool, facultatif, par défautTrue) — Indique s'il faut ou non utiliser un biais d'attention spatiale dans le mécanisme d'auto-attention. - has_visual_segment_embedding (
bool, facultatif, par défautFalse) — Indique s'il faut ajouter des embeddings de segments visuels. - detectron2_config_args (
dict, facultatif) — Dictionnaire contenant les arguments de configuration du backbone visuel Detectron2. Consultez ce fichier pour plus de détails sur les valeurs par défaut.
Ceci est la classe de configuration destinée à stocker la configuration d'un LayoutxlmModel. Elle est utilisée pour instancier un modèle Layoutxlm 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 microsoft/layoutxlm-base
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 LayoutXLMConfig, LayoutXLMModel
>>> # Initializing a LayoutXLM microsoft/layoutxlm-base style configuration
>>> configuration = LayoutXLMConfig()
>>> # Initializing a model (with random weights) from the microsoft/layoutxlm-base style configuration
>>> model = LayoutXLMModel(configuration)
>>> # Accessing the model configuration
>>> configuration = model.configLayoutXLMTokenizer
classe transformers.LayoutXLMTokenizer
< source >( vocab: str | list | None = Nonebos_token = '<s>'eos_token = '</s>'sep_token = '</s>'cls_token = '<s>'unk_token = '<unk>'pad_token = '<pad>'mask_token = '<mask>'cls_token_box = [0, 0, 0, 0]sep_token_box = [1000, 1000, 1000, 1000]pad_token_box = [0, 0, 0, 0]pad_token_label = -100only_label_first_subword = Trueadd_prefix_space = True**kwargs )
Paramètres
- vocab (
str,dictoulist, facultatif) — Vocabulaire du tokenizer sous forme de chemin, de dictionnaire ou de liste de tuples(token, score). - bos_token (
str, facultatif, défaut"<s>") — Le jeton de début de séquence utilisé lors de la préformation. Peut être utilisé comme jeton de classifieur de séquence.Lors de la construction d'une séquence à l'aide de jetons spéciaux, ce n'est pas ce jeton qui est utilisé pour le début de la séquence. Le jeton utilisé est
cls_token. - eos_token (
str, facultatif, défaut :"</s>") — Le jeton de fin de séquence. Lors de la construction d'une séquence à l'aide de jetons spéciaux, ce n'est pas le jeton utilisé pour la fin de séquence. Le jeton utilisé est sep_token.Lors de la construction d'une séquence à l'aide de jetons spéciaux, ce n'est pas ce jeton qui est utilisé pour la fin de séquence. Le jeton utilisé est le
sep_token. - sep_token (
str, facultatif, par défaut"</s>") — Le jeton séparateur, utilisé lors de la construction d'une séquence à partir de plusieurs séquences, par exemple deux séquences pour la classification de séquences ou un texte et une question pour le question answering. Il est également utilisé comme dernier jeton d'une séquence construite avec des jetons spéciaux. - cls_token (
str, facultatif, par défaut"<s>") — Le jeton de classification utilisé lors de la classification de séquence (classification de la séquence entière plutôt que la classification par jeton). C'est le premier jeton de la séquence lorsqu'elle est construite avec des jetons spéciaux. - unk_token (
str, facultatif, par défaut"<unk>") — Le jeton inconnu. Un jeton qui n'est pas dans le vocabulaire ne peut pas être converti en identifiant et est remplacé par ce jeton. - pad_token (
str, facultatif, par défaut"<pad>") — Le jeton utilisé pour le bourrage, par exemple lors du regroupement de séquences de longueurs différentes. - mask_token (
str, facultatif, par défaut"<mask>") — Le jeton utilisé pour masquer les valeurs. C'est le jeton utilisé lors de l'entraînement de ce modèle avec le modélisation de langage masquée. C'est le jeton que le modèle cherchera à prédire. - cls_token_box (
list[int], facultatif, par défaut[0, 0, 0, 0]) — La boîte englobante à utiliser pour le jeton spécial [CLS]. - sep_token_box (
list[int], facultatif, par défaut[1000, 1000, 1000, 1000]) — La boîte englobante à utiliser pour le jeton spécial [SEP]. - pad_token_box (
list[int], facultatif, par défaut[0, 0, 0, 0]) — La boîte englobante à utiliser pour le jeton spécial [PAD]. - pad_token_label (
int, facultatif, valeur par défaut -100) — L'étiquette à utiliser pour les jetons de bourrage. La valeur par défaut est -100, qui correspond àignore_indexde CrossEntropyLoss de PyTorch. - only_label_first_subword (
bool, facultatif, par défautTrue) — Indique s'il faut étiqueter uniquement le premier sous-mot, lorsque des étiquettes de mots sont fournies. - add_prefix_space (
bool, facultatif, valeur par défautTrue) — Indique s'il faut ajouter un espace initial à l'entrée. - additional_special_tokens (
list[str], facultatif, par défaut["<s>NOTUSED", "</s>NOTUSED"]) — Jetons spéciaux supplémentaires utilisés par le tokeniseur.
Construit un tokenizer « rapide » LayoutXLM (basé sur la bibliothèque tokenizers de HuggingFace). Adapté de RobertaTokenizer et XLNetTokenizer. Basé sur BPE.
Ce tokenizer hérite de TokenizersBackend, qui contient la plupart des méthodes principales. Les utilisateurs doivent se référer à cette superclasse pour plus d'informations sur ces méthodes.
__call__
< source >( text: str | list[str] | list[list[str]]text_pair: list[str] | list[list[str]] | None = Noneboxes: list[list[int]] | list[list[list[int]]] | None = Noneword_labels: list[int] | list[list[int]] | None = Noneadd_special_tokens: bool = Truepadding: bool | str | transformers.utils.generic.PaddingStrategy = Falsetruncation: bool | str | transformers.tokenization_utils_base.TruncationStrategy | None = Nonemax_length: int | None = Nonestride: int = 0pad_to_multiple_of: int | None = Nonepadding_side: str | None = Nonereturn_tensors: str | transformers.utils.generic.TensorType | None = Nonereturn_token_type_ids: bool | None = Nonereturn_attention_mask: bool | None = Nonereturn_overflowing_tokens: bool = Falsereturn_special_tokens_mask: bool = Falsereturn_offsets_mapping: bool = Falsereturn_length: bool = Falseverbose: bool = True**kwargs ) → BatchEncoding
Paramètres
- text (
str,list[str],list[list[str]]) — La séquence ou le lot de séquences à encoder. Chaque séquence peut être une chaîne de caractères, une liste de chaînes de caractères (mots d'un seul exemple ou questions d'un lot d'exemples) ou une liste de listes de chaînes de caractères (lot de mots). - text_pair (
list[str],list[list[str]]) — La séquence ou le lot de séquences à encoder. Chaque séquence doit être une liste de chaînes de caractères (chaînes pré-tokenisées). - boxes (
list[list[int]],list[list[list[int]]]) — Boîtes englobantes au niveau des mots. Chaque boîte englobante doit être normalisée sur une échelle de 0 à 1000. - word_labels (
list[int],list[list[int]], facultatif) — Étiquettes entières au niveau des mots (pour les tâches de classification de jetons telles que FUNSD, CORD). - add_special_tokens (
bool, facultatif, par défautTrue) — Indique s'il faut ou non encoder les séquences avec les jetons spéciaux relatifs à leur modèle. - padding (
bool,strou PaddingStrategy, facultatif, défaut :False) — Active et contrôle le padding. Accepte les valeurs suivantes :Trueou'longest': Ajuster à la séquence la plus longue du lot (ou aucun ajustement si une seule séquence est fournie).'max_length': Remplir jusqu'à une longueur maximale spécifiée par l'argumentmax_lengthou jusqu'à la longueur d'entrée maximale acceptable pour le modèle si cet argument n'est pas fourni.Falseou'do_not_pad'(par défaut) : aucun padding (c’est-à-dire, peut produire un lot avec des séquences de longueurs différentes).
- truncation (
bool,strou TruncationStrategy, facultatif, défaut :False) — Active et contrôle la troncature. Accepte les valeurs suivantes :Trueou'longest_first': Tronquer à une longueur maximale spécifiée avec l’argumentmax_lengthou à la longueur d’entrée maximale acceptable pour le modèle si cet argument n’est pas fourni. Cela tronquera jeton par jeton, en retirant un jeton de la séquence la plus longue du couple si un couple de séquences (ou un lot de couples) est fourni.'only_first': Tronque à une longueur maximale spécifiée avec l'argumentmax_lengthou à la longueur d'entrée maximale acceptable pour le modèle si cet argument n'est pas fourni. Cela ne tronquera que la première séquence d'une paire si une paire de séquences (ou un lot de paires) est fournie.'only_second': Tronque à une longueur maximale spécifiée avec l'argumentmax_lengthou à la longueur d'entrée maximale acceptable pour le modèle si cet argument n'est pas fourni. Cela ne tronquera que la deuxième séquence d'une paire si une paire de séquences (ou un lot de paires) est fournie.Falseou'do_not_truncate'(par défaut) : aucune troncature (c’est-à-dire, peut produire un lot avec des longueurs de séquences supérieures à la taille d’entrée maximale admissible par le modèle).
- max_length (
int, facultatif) — Contrôle la longueur maximale à utiliser par l'un des paramètres de troncature/remplissage.Si non défini ou défini sur
None, la longueur maximale prédéfinie du modèle sera utilisée si l'un des paramètres de troncature/remplissage exige une longueur maximale. Si le modèle n'a pas de longueur d'entrée maximale spécifique (comme XLNet), la troncature/le remplissage à une longueur maximale sera désactivé. - stride (
int, facultatif, valeur par défaut 0) — Si défini à un nombre avecmax_length, les jetons en dépassement renvoyés lorsquereturn_overflowing_tokens=Truecontiendront certains jetons de la fin de la séquence tronquée renvoyée afin de fournir un chevauchement entre les séquences tronquées et les séquences en dépassement. La valeur de cet argument définit le nombre de jetons en chevauchement. - pad_to_multiple_of (
int, facultatif) — Si défini, la séquence sera rembourdée jusqu'à un multiple de la valeur fournie. Cela est particulièrement utile pour permettre l'utilisation des Tensor Cores sur le matériel NVIDIA avec une capacité de calcul>= 7.5(Volta). - return_tensors (
strou TensorType, facultatif) — Si défini, renvoie des tenseurs au lieu d'une liste d'entiers Python. Les valeurs acceptées sont :'pt': Renvoie des objetstorch.Tensorde PyTorch.'np': Renvoie des objets Numpynp.ndarray.
- return_token_type_ids (
bool, facultatif) — Indique s'il faut renvoyer les identifiants de type de jeton. Si la valeur par défaut est conservée, les identifiants de type de jeton sont renvoyés selon la valeur par défaut du tokeniseur spécifique, définie par l'attributreturn_outputs. - return_attention_mask (
bool, facultatif) — Indique s'il faut retourner le masque d'attention. Si la valeur par défaut est conservée, le masque d'attention est retourné selon la valeur par défaut du tokenizer spécifique, définie par l'attributreturn_outputs. - return_overflowing_tokens (
bool, facultatif, par défautFalse) — Indique s'il faut ou non retourner les séquences de jetons en dépassement. Si une paire de séquences d'identifiants d'entrée (ou un lot de paires) est fournie avectruncation_strategy = longest_firstouTrue, une erreur est levée au lieu de retourner les jetons en dépassement. - return_special_tokens_mask (
bool, facultatif, par défautFalse) — Indique s'il faut ou non retourner les informations du masque des jetons spéciaux. - return_offsets_mapping (
bool, facultatif, par défautFalse) — Indique s'il faut renvoyer(char_start, char_end)pour chaque jeton.Cela n’est disponible que sur les tokenizers rapides héritant de PreTrainedTokenizerFast ; si vous utilisez le tokenizer Python, cette méthode lève
NotImplementedError. - return_length (
bool, facultatif, par défautFalse) — Indique s'il faut retourner les longueurs des entrées encodées. - verbose (
bool, facultatif, par défautTrue) — Indique s'il faut afficher plus d'informations et d'avertissements. - **kwargs — transmis à la méthode
self.tokenize()
Retourne
Un BatchEncoding avec les champs suivants :
-
input_ids — Liste des identifiants de jetons à fournir à un modèle.
-
bbox — Liste des boîtes englobantes à fournir à un modèle.
-
token_type_ids — Liste des identifiants de type de jeton à fournir à un modèle (lorsque
return_token_type_ids=Trueou si “token_type_ids” est présent dansself.model_input_names). -
attention_mask — Liste d’indices spécifiant les jetons auxquels le modèle doit prêter attention (lorsque
return_attention_mask=Trueou si “attention_mask” est présent dansself.model_input_names). -
labels — Liste des étiquettes à fournir à un modèle. (lorsque
word_labelsest spécifié). -
overflowing_tokens — Liste des séquences de jetons en dépassement (lorsqu'une
max_lengthest spécifiée etreturn_overflowing_tokens=True). -
num_truncated_tokens — Nombre de jetons tronqués (lorsqu'une
max_lengthest spécifiée etreturn_overflowing_tokens=True). -
special_tokens_mask — Liste de 0 et de 1, où 1 indique les jetons spéciaux ajoutés et 0 indique les jetons de séquence réguliers (lorsque
add_special_tokens=Trueetreturn_special_tokens_mask=True). -
length — La longueur des entrées (lorsque
return_length=True).
Méthode principale pour tokeniser et préparer pour le modèle une ou plusieurs séquences ou une ou plusieurs paires de séquences avec des boîtes englobantes normalisées au niveau du mot et des étiquettes facultatives.
build_inputs_with_special_tokens
< source >( token_ids_0: listtoken_ids_1: list[int] | None = None ) → list[int]
Paramètres
- token_ids_0 (
list[int]) — Liste des ID auxquels les jetons spéciaux seront ajoutés. - token_ids_1 (
list[int], facultatif) — Deuxième liste d'identifiants facultative pour les paires de séquences.
Retourne
list[int]
Liste des identifiants d'entrée avec les jetons spéciaux appropriés.
Construire les entrées du modèle à partir d'une séquence ou d'une paire de séquences pour les tâches de classification de séquences en les concaténant et en ajoutant des jetons spéciaux. Une séquence XLM-RoBERTa a le format suivant :
- séquence unique :
<s> X </s> - paire de séquences :
<s> A </s></s> B </s>
get_special_tokens_mask
< source >( token_ids_0: list[int]token_ids_1: list[int] | None = Nonealready_has_special_tokens: bool = False ) → A list of integers in the range [0, 1]
Paramètres
- token_ids_0 — Liste des identifiants de la séquence (éventuellement déjà formatée).
- token_ids_1 — Non utilisé lorsque
already_has_special_tokens=True. Doit être None dans ce cas. - already_has_special_tokens — Indique si la séquence est déjà formatée avec des jetons spéciaux.
Retourne
Une liste d'entiers dans l'intervalle [0, 1]
1 pour un jeton spécial, 0 pour un jeton de séquence.
Récupérer les identifiants de séquences à partir d'une liste de jetons à laquelle aucun jeton spécial n'a été ajouté.
Pour les tokenizers rapides, les data collators appellent cette fonction avec already_has_special_tokens=True pour construire un masque sur une séquence déjà formatée. Dans ce cas, nous calculons le masque en vérifiant l’appartenance à all_special_ids.
create_token_type_ids_from_sequences
< source >( token_ids_0: listtoken_ids_1: list[int] | None = None ) → list[int]
Crée un masque à partir des deux séquences passées, à utiliser dans une tâche de classification de paires de séquences. XLM-RoBERTa n’utilise pas d’identifiants de type de jeton, une liste de zéros est donc renvoyée.
LayoutXLMProcessor
classe transformers.LayoutXLMProcessor
< source >( image_processor = Nonetokenizer = None**kwargs )
Construit un LayoutXLMProcessor qui encapsule un processeur d’images et un tokenizer en un seul processeur.
LayoutXLMProcessor offre toutes les fonctionnalités de LayoutLMv2ImageProcessor et de LayoutXLMTokenizer. Consultez ~LayoutLMv2ImageProcessor et ~LayoutXLMTokenizer pour plus d’informations.
__call__
< source >( imagestext: str | list[str] | list[list[str]] = Nonetext_pair: list[str] | list[list[str]] | None = Noneboxes: list[list[int]] | list[list[list[int]]] | None = Noneword_labels: list[int] | list[list[int]] | None = Noneadd_special_tokens: bool = Truepadding: bool | str | transformers.utils.generic.PaddingStrategy = Falsetruncation: bool | str | transformers.tokenization_utils_base.TruncationStrategy = Nonemax_length: int | None = Nonestride: int = 0pad_to_multiple_of: int | None = Nonereturn_token_type_ids: bool | None = Nonereturn_attention_mask: bool | None = Nonereturn_overflowing_tokens: bool = Falsereturn_special_tokens_mask: bool = Falsereturn_offsets_mapping: bool = Falsereturn_length: bool = Falseverbose: bool = Truereturn_tensors: str | transformers.utils.generic.TensorType | None = None**kwargs ) → ~tokenization_utils_base.BatchEncoding
Paramètres
- images (`
) -- Image to preprocess. Expects a single or batch of images with pixel values ranging from 0 to 255. If passing in images with pixel values between 0 and 1, setdo_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. - text_pair (
str, list[str] or list[int], facultatif) — Deuxième séquence facultative à encoder. Il peut s’agir d’une chaîne de caractères, d’une liste de chaînes (chaîne tokenisée à l’aide de la méthodetokenize) ou d’une liste d’entiers (identifiants de tokens d’une chaîne tokenisée à l’aide de la méthodeconvert_tokens_to_ids). - boxes (
list[list[int]] or list[list[list[int]]], facultatif) — Boîtes englobantes au niveau des mots. Chaque boîte englobante doit être normalisée sur une échelle de 0 à 1000. - word_labels (
list[int] or list[list[int]], facultatif) — Étiquettes entières au niveau des mots (pour les tâches de classification de jetons telles que FUNSD, CORD). - add_special_tokens (
bool, facultatif, par défautTrue) — Indique s'il faut ajouter des jetons spéciaux lors de l'encodage des séquences. Cela utilise la fonction sous-jacentePretrainedTokenizerBase.build_inputs_with_special_tokens, qui définit les jetons ajoutés automatiquement aux identifiants d'entrée. Cela est utile si vous souhaitez ajouter automatiquement des jetonsbosoueos. - padding (bool, str ou PaddingStrategy, facultatif, défaut
False) — Active et contrôle le padding. Accepte les valeurs suivantes :Trueou'longest': Ajuster à la séquence la plus longue du lot (ou aucun ajustement si une seule séquence est fournie).'max_length': Remplir jusqu'à une longueur maximale spécifiée par l'argumentmax_lengthou jusqu'à la longueur d'entrée maximale acceptable pour le modèle si cet argument n'est pas fourni.Falseou'do_not_pad'(par défaut) : aucun padding (c’est-à-dire, peut produire un lot avec des séquences de longueurs différentes).
- truncation (bool, str ou TruncationStrategy, facultatif) —
Active et contrôle la troncature. Accepte les valeurs suivantes :
Trueou'longest_first': Tronquer à une longueur maximale spécifiée avec l’argumentmax_lengthou à la longueur d’entrée maximale acceptable pour le modèle si cet argument n’est pas fourni. Cela tronquera jeton par jeton, en retirant un jeton de la séquence la plus longue du couple si un couple de séquences (ou un lot de couples) est fourni.'only_first': Tronque à une longueur maximale spécifiée avec l'argumentmax_lengthou à la longueur d'entrée maximale acceptable pour le modèle si cet argument n'est pas fourni. Cela ne tronquera que la première séquence d'une paire si une paire de séquences (ou un lot de paires) est fournie.'only_second': Tronque à une longueur maximale spécifiée avec l'argumentmax_lengthou à la longueur d'entrée maximale acceptable pour le modèle si cet argument n'est pas fourni. Cela ne tronquera que la deuxième séquence d'une paire si une paire de séquences (ou un lot de paires) est fournie.Falseou'do_not_truncate'(par défaut) : aucune troncature (c’est-à-dire, peut produire un lot avec des longueurs de séquences supérieures à la taille d’entrée maximale admissible par le modèle).
- max_length (
int, facultatif) — Contrôle la longueur maximale à utiliser par l'un des paramètres de troncature/remplissage.Si non défini ou défini sur
None, la longueur maximale prédéfinie du modèle sera utilisée si l'un des paramètres de troncature/remplissage exige une longueur maximale. Si le modèle n'a pas de longueur d'entrée maximale spécifique (comme XLNet), la troncature/le remplissage à une longueur maximale sera désactivé. - stride (
int, facultatif, par défaut0) — Si défini avec une valeur numérique en plus demax_length, les jetons en dépassement renvoyés lorsquereturn_overflowing_tokens=Truecontiendront certains jetons de la fin de la séquence tronquée renvoyée afin de fournir un chevauchement entre les séquences tronquées et les séquences en dépassement. La valeur de cet argument définit le nombre de jetons en chevauchement. - pad_to_multiple_of (
int, facultatif) — Si défini, la séquence est rembourrée jusqu'à un multiple de la valeur fournie. Nécessite l'activation depadding. Cela est particulièrement utile pour permettre l'utilisation des Tensor Cores sur le matériel NVIDIA avec une capacité de calcul>= 7.5(Volta). - return_token_type_ids (
bool, facultatif) — Indique s'il faut renvoyer les identifiants de type de jeton. Si la valeur par défaut est conservée, les identifiants de type de jeton sont renvoyés selon la valeur par défaut du tokeniseur spécifique, définie par l'attributreturn_outputs. - return_attention_mask (
bool, facultatif) — Indique s'il faut retourner le masque d'attention. Si la valeur par défaut est conservée, le masque d'attention est retourné selon la valeur par défaut du tokenizer spécifique, définie par l'attributreturn_outputs. - return_overflowing_tokens (
bool, facultatif, par défautFalse) — Indique s'il faut ou non retourner les séquences de jetons en dépassement. Si une paire de séquences d'identifiants d'entrée (ou un lot de paires) est fournie avectruncation_strategy = longest_firstouTrue, une erreur est levée au lieu de retourner les jetons en dépassement. - return_special_tokens_mask (
bool, facultatif, par défautFalse) — Indique s'il faut ou non retourner les informations du masque des jetons spéciaux. - return_offsets_mapping (
bool, facultatif, par défautFalse) — Indique s'il faut renvoyer(char_start, char_end)pour chaque jeton.Cela n’est disponible que sur les tokenizers rapides héritant de PreTrainedTokenizerFast ; si vous utilisez le tokenizer Python, cette méthode lève
NotImplementedError. - return_length (
bool, facultatif, par défautFalse) — Indique s'il faut retourner les longueurs des entrées encodées. - verbose (
bool, facultatif, par défautTrue) — Indique s'il faut afficher plus d'informations et d'avertissements. - return_tensors (
Union[str, ~utils.generic.TensorType], facultatif) — Si défini, renvoie des tenseurs d'un framework particulier. Les valeurs acceptables sont :'pt': Renvoie des objetstorch.Tensorde PyTorch.'np': Renvoie des objets NumPynp.ndarray.
Retourne
~tokenization_utils_base.BatchEncoding
- data (
dict, facultatif) — Dictionnaire de listes/tableaux/tenseurs renvoyé par les méthodes__call__/encode_plus/batch_encode_plus(‘input_ids’, ‘attention_mask’, etc.). - encoding (
tokenizers.EncodingouSequence[tokenizers.Encoding], facultatif) — Si le tokenizer est un fast tokenizer qui fournit des informations supplémentaires, comme la correspondance entre l’espace des mots/caractères et l’espace des jetons, l’instancetokenizers.Encodingou la liste d’instances (pour les lots) contient ces informations. - 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. - prepend_batch_axis (
bool, facultatif, par défautFalse) — Indique s'il faut ou non ajouter un axe de lot lors de la conversion en tenseurs (voirtensor_typeci-dessus). Notez que ce paramètre a un effet si le paramètretensor_typeest défini, sinon il n'a aucun effet. - n_sequences (
int, facultatif) — Le nombre de séquences d'entrée représentées par chaque encodage (Nonepour inconnu,1pour une seule séquence et2pour une paire de séquences).