Transformers documentation

LayoutXLM

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

and get access to the augmented documentation experience

to get started

Este modelo se publicó en HF papers el 18 de abril de 2021 y se contribuyó a Hugging Face Transformers el 3 de noviembre de 2021.

LayoutXLM

Resumen

LayoutXLM se propuso en LayoutXLM: Multimodal Pre-training for Multilingual Visually-rich Document Understanding por Yiheng Xu, Tengchao Lv, Lei Cui, Guoxin Wang, Yijuan Lu, Dinei Florencio, Cha Zhang, Furu Wei. Es una extensión multilingüe del modelo LayoutLMv2 entrenado en 53 idiomas.

El resumen del artículo es el siguiente:

El preentrenamiento multimodal con texto, diseño e imagen ha alcanzado un rendimiento SOTA en tareas de comprensión de documentos visualmente ricos recientemente, lo que demuestra el gran potencial del aprendizaje conjunto entre diferentes modalidades. En este artículo, presentamos LayoutXLM, un modelo multimodal preentrenado para la comprensión de documentos multilingües, que busca superar las barreras lingüísticas en la comprensión de documentos visualmente ricos. Para evaluar con precisión LayoutXLM, también introducimos un conjunto de datos de referencia para la comprensión de formularios multilingües llamado XFUN, que incluye muestras de comprensión de formularios en 7 idiomas (chino, japonés, español, francés, italiano, alemán, portugués), y las parejas clave-valor están etiquetadas manualmente para cada idioma. Los resultados experimentales muestran que el modelo LayoutXLM ha superado significativamente a los modelos preentrenados translingües SOTA existentes en el conjunto de datos XFUN.

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

Consejos de uso y ejemplos

Se pueden insertar directamente los pesos de LayoutXLM en un modelo LayoutLMv2, de la siguiente manera:

from transformers import LayoutLMv2Model


model = LayoutLMv2Model.from_pretrained("microsoft/layoutxlm-base", device_map="auto")

Tenga en cuenta que LayoutXLM tiene su propio tokenizador, basado en LayoutXLMTokenizer/LayoutXLMTokenizerFast. Puede inicializarlo de la siguiente manera:

from transformers import LayoutXLMTokenizer


tokenizer = LayoutXLMTokenizer.from_pretrained("microsoft/layoutxlm-base")

De manera similar a LayoutLMv2, puedes usar LayoutXLMProcessor (que internamente aplica LayoutLMv2ImageProcessor y LayoutXLMTokenizer/LayoutXLMTokenizerFast en secuencia) para preparar todos los datos para el modelo.

Dado que la arquitectura de LayoutXLM es equivalente a la de LayoutLMv2, se puede consultar la página de documentación de LayoutLMv2 para obtener todos los consejos, ejemplos de código y cuadernos.

LayoutXLMConfig

clase transformers.LayoutXLMConfig

< >

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

Parámetros

  • vocab_size (int, opcional, valor predeterminado 30522) — Tamaño del vocabulario del modelo. Define el número de tokens diferentes que pueden representarse mediante input_ids.
  • hidden_size (int, opcional, valor predeterminado 768) — Dimensión de las representaciones ocultas.
  • num_hidden_layers (int, opcional, valor predeterminado 12) — Número de capas ocultas en el decodificador del Transformer.
  • num_attention_heads (int, opcional, valor predeterminado 12) — Número de cabezas de atención para cada capa de atención en el decodificador Transformer.
  • intermediate_size (int, opcional, valor predeterminado 3072) — Dimensión de las representaciones del MLP.
  • hidden_act (str, opcional, valor predeterminado gelu) — La función de activación no lineal (función o cadena) en el decodificador. Por ejemplo, "gelu", "relu", "silu", etc.
  • hidden_dropout_prob (Union[float, int], opcional, valor predeterminado 0.1) — La probabilidad de dropout para todas las capas totalmente conectadas en las incrustaciones, el codificador y el pooler.
  • attention_probs_dropout_prob (Union[float, int], opcional, valor predeterminado 0.1) — La proporción de dropout para las probabilidades de atención.
  • max_position_embeddings (int, opcional, valor predeterminado 512) — La longitud máxima de secuencia con la que se podría utilizar este modelo.
  • type_vocab_size (int, opcional, valor predeterminado 2) — El tamaño del vocabulario de token_type_ids.
  • initializer_range (float, opcional, valor predeterminado 0.02) — La desviación estándar del truncated_normal_initializer para inicializar todas las matrices de pesos.
  • layer_norm_eps (float, opcional, valor predeterminado 1e-12) — El epsilon utilizado por las capas de normalización de capa.
  • pad_token_id (int, opcional, valor predeterminado 0) — Id del token utilizado para el relleno en el vocabulario.
  • max_2d_position_embeddings (int, opcional, valor predeterminado 1024) — El valor máximo con el que podría usarse la incrustación de posición 2D. Normalmente, se establece en un valor grande por si acaso (p. ej., 1024).
  • max_rel_pos (int, opcional, valor predeterminado 128) — El número máximo de posiciones relativas que se utilizarán en el mecanismo de autoatención.
  • rel_pos_bins (int, opcional, valor predeterminado 32) — El número de bins de posición relativa que se utilizarán en el mecanismo de autoatención.
  • fast_qkv (bool, opcional, valor predeterminado True) — Indica si se debe utilizar una única matriz para las consultas, claves y valores en las capas de autoatención.
  • max_rel_2d_pos (int, opcional, valor predeterminado 256) — El número máximo de posiciones relativas 2D en el mecanismo de autoatención.
  • rel_2d_pos_bins (int, opcional, valor predeterminado 64) — El número de bins de posición relativa 2D en el mecanismo de autoatención.
  • convert_sync_batchnorm (bool, opcional, valor predeterminado True) — Si se deben convertir las capas de normalización por lotes en capas de normalización por lotes sincronizadas.
  • image_feature_pool_shape (list[int], opcional, valor predeterminado [7, 7, 256]) — La forma del mapa de características promediado.
  • coordinate_size (int, opcional, valor predeterminado 128) — Dimensión de las incrustaciones de coordenadas.
  • shape_size (int, opcional, valor predeterminado 128) — Dimensión de los embeddings de ancho y alto.
  • has_relative_attention_bias (bool, opcional, valor predeterminado True) — Indica si se debe utilizar un sesgo de atención relativo en el mecanismo de autoatención.
  • has_spatial_attention_bias (bool, opcional, valor predeterminado True) — Indica si se debe utilizar un sesgo de atención espacial en el mecanismo de autoatención.
  • has_visual_segment_embedding (bool, opcional, valor predeterminado False) — Indica si se deben añadir embeddings de segmentos visuales.
  • detectron2_config_args (dict, opcional) — Diccionario que contiene los argumentos de configuración del backbone visual de Detectron2. Consulte este archivo para obtener detalles sobre los valores predeterminados.

Esta es la clase de configuración para almacenar la configuración de un LayoutxlmModel. Se utiliza para instanciar un modelo Layoutxlm según los argumentos especificados, definiendo la arquitectura del modelo. Instanciar una configuración con los valores predeterminados producirá una configuración similar a la de microsoft/layoutxlm-base

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

Ejemplo:

>>> from transformers import 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.config

LayoutXLMTokenizer

clase transformers.LayoutXLMTokenizer

< >

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

Parámetros

  • vocab (str, dict o list, opcional) — Vocabulario para el tokenizador como una ruta, un diccionario o una lista de tuplas (token, score).
  • bos_token (str, opcional, por defecto "<s>") — El token de inicio de secuencia que se utilizó durante el preentrenamiento. Puede usarse como token de clasificador de secuencias. Al construir una secuencia con tokens especiales, este no es el token que se utiliza para el inicio de la secuencia. El token que se utiliza es cls_token.

    Al construir una secuencia con tokens especiales, este no es el token que se utiliza para el inicio de la secuencia. El token que se utiliza es cls_token.

  • eos_token (str, opcional, por defecto es "</s>") — El token de fin de secuencia. Al construir una secuencia con tokens especiales, este no es el token que se utiliza para el fin de la secuencia. El token que se utiliza es sep_token.

    Al construir una secuencia con tokens especiales, este no es el token que se utiliza para el final de la secuencia. El token que se utiliza es sep_token.

  • sep_token (str, opcional, valor predeterminado "</s>") — El token separador, que se utiliza al construir una secuencia a partir de varias secuencias, por ejemplo, dos secuencias para la clasificación de secuencias o un texto y una pregunta para la respuesta a preguntas. También se utiliza como el último token de una secuencia construida con tokens especiales.
  • cls_token (str, opcional, valor predeterminado "<s>") — El token clasificador que se utiliza al realizar clasificación de secuencias (clasificación de la secuencia completa en lugar de clasificación por token). Es el primer token de la secuencia cuando se construye con tokens especiales.
  • unk_token (str, opcional, valor predeterminado "<unk>") — El token desconocido. Un token que no está en el vocabulario no se puede convertir en un ID y se establece como este token en su lugar.
  • pad_token (str, opcional, valor predeterminado "<pad>") — El token utilizado para el relleno, por ejemplo, al agrupar secuencias de diferentes longitudes.
  • mask_token (str, opcional, valor predeterminado "<mask>") — El token utilizado para enmascarar valores. Este es el token que se emplea al entrenar este modelo con modelado de lenguaje enmascarado. Es el token que el modelo intentará predecir.
  • cls_token_box (list[int], opcional, valor predeterminado [0, 0, 0, 0]) — La caja delimitadora que se utilizará para el token especial [CLS].
  • sep_token_box (list[int], opcional, valor predeterminado [1000, 1000, 1000, 1000]) — La caja delimitadora que se utilizará para el token especial [SEP].
  • pad_token_box (list[int], opcional, valor predeterminado [0, 0, 0, 0]) — La caja delimitadora (bounding box) que se utilizará para el token especial [PAD].
  • pad_token_label (int, opcional, valor predeterminado -100) — La etiqueta que se utilizará para los tokens de relleno. El valor predeterminado es -100, que es el ignore_index de CrossEntropyLoss de PyTorch.
  • only_label_first_subword (bool, opcional, valor predeterminado True) — Indica si se debe etiquetar únicamente el primer subword cuando se proporcionan etiquetas de palabras.
  • add_prefix_space (bool, opcional, valor predeterminado True) — Indica si se debe añadir un espacio inicial a la entrada.
  • additional_special_tokens (list[str], opcional, valor predeterminado ["<s>NOTUSED", "</s>NOTUSED"]) — Tokens especiales adicionales utilizados por el tokenizador.

Construye un tokenizador “fast” de LayoutXLM (respaldado por la biblioteca tokenizers de HuggingFace). Adaptado de RobertaTokenizer y XLNetTokenizer. Basado en BPE.

Este tokenizador hereda de TokenizersBackend, que contiene la mayoría de los métodos principales. Los usuarios deben consultar esta superclase para obtener más información sobre dichos métodos.

__call__

< >

( 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

Parámetros

  • text (str, list[str], list[list[str]]) — La secuencia o lote de secuencias que se va a codificar. Cada secuencia puede ser una cadena de caracteres, una lista de cadenas de caracteres (palabras de un solo ejemplo o preguntas de un lote de ejemplos) o una lista de listas de cadenas de caracteres (lote de palabras).
  • text_pair (list[str], list[list[str]]) — La secuencia o lote de secuencias que se van a codificar. Cada secuencia debe ser una lista de cadenas de caracteres (cadenas pre-tokenizadas).
  • boxes (list[list[int]], list[list[list[int]]]) — Cajas delimitadoras a nivel de palabra. Cada caja delimitadora debe estar normalizada en una escala de 0 a 1000.
  • word_labels (list[int], list[list[int]], opcional) — Etiquetas enteras a nivel de palabra (para tareas de clasificación de tokens como FUNSD, CORD).
  • add_special_tokens (bool, opcional, valor predeterminado True) — Si se codifican o no las secuencias con los tokens especiales relativos a su modelo.
  • padding (bool, str o PaddingStrategy, opcional, el valor predeterminado es False) — Activa y controla el padding. Acepta los siguientes valores:
    • True o 'longest': Rellena hasta la secuencia más larga del lote (o no aplica relleno si solo se proporciona una secuencia).
    • 'max_length': Rellena hasta una longitud máxima especificada con el argumento max_length o hasta la longitud de entrada máxima aceptable para el modelo si no se proporciona dicho argumento.
    • False o 'do_not_pad' (predeterminado): Sin relleno (es decir, puede generar un lote con secuencias de diferentes longitudes).
  • truncation (bool, str o TruncationStrategy, opcional, por defecto False) — Activa y controla la truncación. Acepta los siguientes valores:
    • True o 'longest_first': Trunca hasta una longitud máxima especificada con el argumento max_length o hasta la longitud de entrada máxima aceptable para el modelo si no se proporciona dicho argumento. Esto truncará token a token, eliminando un token de la secuencia más larga de la pareja si se proporciona una pareja de secuencias (o un lote de parejas).
    • 'only_first': Trunca a una longitud máxima especificada con el argumento max_length o a la longitud de entrada máxima aceptable para el modelo si no se proporciona dicho argumento. Esto solo truncará la primera secuencia de un par si se proporciona un par de secuencias (o un lote de pares).
    • 'only_second': Trunca a una longitud máxima especificada con el argumento max_length o a la longitud de entrada máxima aceptable para el modelo si no se proporciona dicho argumento. Esto solo truncará la segunda secuencia de un par si se proporciona un par de secuencias (o un lote de pares).
    • False o 'do_not_truncate' (predeterminado): sin truncamiento (es decir, se puede generar un lote con longitudes de secuencia mayores que el tamaño máximo de entrada admisible por el modelo).
  • max_length (int, opcional) — Controla la longitud máxima que se utilizará mediante uno de los parámetros de truncamiento/relleno.

    Si se deja sin definir o se establece en None, se utilizará la longitud máxima predefinida del modelo si uno de los parámetros de truncamiento/relleno lo requiere. Si el modelo no tiene una longitud máxima de entrada específica (como XLNet), el truncamiento/relleno a una longitud máxima se desactivará.

  • stride (int, opcional, valor predeterminado 0) — Si se establece en un número junto con max_length, los tokens de desbordamiento devueltos cuando return_overflowing_tokens=True contendrán algunos tokens del final de la secuencia truncada devuelta para proporcionar cierta superposición entre las secuencias truncadas y las de desbordamiento. El valor de este argumento define el número de tokens superpuestos.
  • pad_to_multiple_of (int, opcional) — Si se establece, se rellenará la secuencia hasta un múltiplo del valor proporcionado. Esto es especialmente útil para habilitar el uso de Tensor Cores en hardware de NVIDIA con capacidad de cálculo >= 7.5 (Volta).
  • return_tensors (str o TensorType, opcional) — Si se establece, devolverá tensores en lugar de una lista de enteros de Python. Los valores aceptables son:
    • 'pt': Devuelve objetos torch.Tensor de PyTorch.
    • 'np': Devuelve objetos Numpy np.ndarray.
  • return_token_type_ids (bool, opcional) — Si se deben devolver los IDs de tipo de token. Si se deja en el valor predeterminado, se devolverán los IDs de tipo de token según el valor predeterminado del tokenizador específico, definido por el return_outputs atributo.

    ¿Qué son los IDs de tipo de token?

  • return_attention_mask (bool, opcional) — Si se debe devolver la máscara de atención. Si se deja en el valor predeterminado, se devolverá la máscara de atención según el valor predeterminado del tokenizador específico, definido por el return_outputs atributo.

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

  • return_overflowing_tokens (bool, opcional, valor predeterminado False) — Indica si se deben devolver las secuencias de tokens que exceden el límite. Si se proporciona un par de secuencias de ids de entrada (o un lote de pares) con truncation_strategy = longest_first o True, se genera un error en lugar de devolver los tokens que exceden el límite.
  • return_special_tokens_mask (bool, opcional, valor predeterminado False) — Indica si se debe o no devolver información de la máscara de tokens especiales.
  • return_offsets_mapping (bool, opcional, por defecto False) — Si se devuelve o no (char_start, char_end) para cada token.

    Esto solo está disponible en los tokenizadores rápidos que heredan de PreTrainedTokenizerFast; si se utiliza el tokenizador de Python, este método lanzará NotImplementedError.

  • return_length (bool, opcional, valor predeterminado False) — Indica si se deben devolver las longitudes de las entradas codificadas.
  • verbose (bool, opcional, valor predeterminado True) — Si se imprime más información y advertencias.
  • **kwargs — se pasan al método self.tokenize()

Devuelve

BatchEncoding

Un BatchEncoding con los siguientes campos:

  • input_ids — Lista de ids de tokens que se enviarán a un modelo.

    ¿Qué son los IDs de entrada?

  • bbox — Lista de cajas delimitadoras que se enviarán a un modelo.

  • token_type_ids — Lista de ids de tipo de token que se enviarán a un modelo (cuando return_token_type_ids=True o si “token_type_ids” está en self.model_input_names).

    ¿Qué son los IDs de tipo de token?

  • attention_mask — Lista de índices que especifica qué tokens deben ser atendidos por el modelo (cuando return_attention_mask=True o si “attention_mask” está en self.model_input_names).

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

  • labels — Lista de etiquetas que se enviarán a un modelo. (cuando se especifica word_labels).

  • overflowing_tokens — Lista de secuencias de tokens que exceden el límite (cuando se especifica un max_length y return_overflowing_tokens=True).

  • num_truncated_tokens — Número de tokens truncados (cuando se especifica un max_length y return_overflowing_tokens=True).

  • special_tokens_mask — Lista de 0 y 1, donde 1 especifica los tokens especiales añadidos y 0 especifica los tokens regulares de la secuencia (cuando add_special_tokens=True y return_special_tokens_mask=True).

  • length — La longitud de las entradas (cuando return_length=True).

Método principal para tokenizar y preparar para el modelo una o varias secuencias o una o varias parejas de secuencias con cajas delimitadoras normalizadas a nivel de palabra y etiquetas opcionales.

build_inputs_with_special_tokens

< >

( token_ids_0: listtoken_ids_1: list[int] | None = None ) → list[int]

Parámetros

  • token_ids_0 (list[int]) — Lista de IDs a los que se les añadirán los tokens especiales.
  • token_ids_1 (list[int], opcional) — Segunda lista de IDs opcional para pares de secuencias.

Devuelve

list[int]

Lista de ID de entrada con los tokens especiales apropiados.

Construye las entradas del modelo a partir de una secuencia o un par de secuencias para tareas de clasificación de secuencias, concatenando y añadiendo tokens especiales. Una secuencia de XLM-RoBERTa tiene el siguiente formato:

  • secuencia única: <s> X </s>
  • par de secuencias: <s> A </s></s> B </s>

get_special_tokens_mask

< >

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

Parámetros

  • token_ids_0 — Lista de IDs de la secuencia (posiblemente ya formateada).
  • token_ids_1 — No se usa cuando already_has_special_tokens=True. Debe ser None en ese caso.
  • already_has_special_tokens — Indica si la secuencia ya está formateada con tokens especiales.

Devuelve

Una lista de enteros en el rango [0, 1]

1 para un token especial, 0 para un token de secuencia.

Obtener los ids de secuencia de una lista de tokens a la que no se le han añadido tokens especiales.

Para los tokenizadores rápidos, los collators de datos llaman a esto con already_has_special_tokens=True para construir una máscara sobre una secuencia ya formateada. En ese caso, calculamos la máscara comprobando la pertenencia en all_special_ids.

create_token_type_ids_from_sequences

< >

( token_ids_0: listtoken_ids_1: list[int] | None = None ) → list[int]

Parámetros

  • token_ids_0 (list[int]) — Lista de IDs.
  • token_ids_1 (list[int], opcional) — Segunda lista de IDs opcional para pares de secuencias.

Devuelve

list[int]

Lista de ceros.

Crea una máscara a partir de las dos secuencias pasadas para ser utilizada en una tarea de clasificación de pares de secuencias. XLM-RoBERTa no utiliza ids de tipo de token, por lo que se devuelve una lista de ceros.

save_vocabulary

< >

( save_directory: strfilename_prefix: str | None = None )

LayoutXLMProcessor

clase transformers.LayoutXLMProcessor

< >

( image_processor = Nonetokenizer = None**kwargs )

Parámetros

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

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

LayoutXLMProcessor ofrece todas las funcionalidades de LayoutLMv2ImageProcessor y LayoutXLMTokenizer. Consulte ~LayoutLMv2ImageProcessor y ~LayoutXLMTokenizer para obtener más información.

__call__

< >

( 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

Parámetros

  • 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, set do_rescale=False`.
  • text (Union[str, list[str], list[list[str]]], opcional) — La secuencia o lote de secuencias que se codificarán. Cada secuencia puede ser una cadena de caracteres o una lista de cadenas de caracteres (cadenas pre-tokenizadas). Si se pasa una entrada pre-tokenizada, establezca is_split_into_words=True para evitar ambigüedad con las entradas por lotes.
  • text_pair (str, list[str] or list[int], opcional) — Segunda secuencia opcional que se codificará. Puede ser una cadena de caracteres, una lista de cadenas (cadena tokenizada usando el método tokenize) o una lista de enteros (ids de tokens de una cadena tokenizada usando el método convert_tokens_to_ids).
  • boxes (list[list[int]] or list[list[list[int]]], opcional) — Cajas delimitadoras a nivel de palabra. Cada caja delimitadora debe estar normalizada en una escala de 0 a 1000.
  • word_labels (list[int] or list[list[int]], opcional) — Etiquetas enteras a nivel de palabra (para tareas de clasificación de tokens como FUNSD, CORD).
  • add_special_tokens (bool, opcional, valor predeterminado True) — Indica si se deben o no añadir tokens especiales al codificar las secuencias. Esto utilizará la función subyacente PretrainedTokenizerBase.build_inputs_with_special_tokens, que define qué tokens se añaden automáticamente a los ids de entrada. Esto es útil si deseas añadir tokens bos o eos automáticamente.
  • padding (bool, str o PaddingStrategy, opcional, por defecto False) — Activa y controla el padding. Acepta los siguientes valores:
    • True o 'longest': Rellena hasta la secuencia más larga del lote (o no aplica relleno si solo se proporciona una secuencia).
    • 'max_length': Rellena hasta una longitud máxima especificada con el argumento max_length o hasta la longitud de entrada máxima aceptable para el modelo si no se proporciona dicho argumento.
    • False o 'do_not_pad' (predeterminado): Sin relleno (es decir, puede generar un lote con secuencias de diferentes longitudes).
  • truncation (bool, str o TruncationStrategy, opcional) — Activa y controla la truncación. Acepta los siguientes valores:
    • True o 'longest_first': Trunca hasta una longitud máxima especificada con el argumento max_length o hasta la longitud de entrada máxima aceptable para el modelo si no se proporciona dicho argumento. Esto truncará token a token, eliminando un token de la secuencia más larga de la pareja si se proporciona una pareja de secuencias (o un lote de parejas).
    • 'only_first': Trunca a una longitud máxima especificada con el argumento max_length o a la longitud de entrada máxima aceptable para el modelo si no se proporciona dicho argumento. Esto solo truncará la primera secuencia de un par si se proporciona un par de secuencias (o un lote de pares).
    • 'only_second': Trunca a una longitud máxima especificada con el argumento max_length o a la longitud de entrada máxima aceptable para el modelo si no se proporciona dicho argumento. Esto solo truncará la segunda secuencia de un par si se proporciona un par de secuencias (o un lote de pares).
    • False o 'do_not_truncate' (predeterminado): sin truncamiento (es decir, se puede generar un lote con longitudes de secuencia mayores que el tamaño máximo de entrada admisible por el modelo).
  • max_length (int, opcional) — Controla la longitud máxima que se utilizará mediante uno de los parámetros de truncamiento/relleno.

    Si se deja sin definir o se establece en None, se utilizará la longitud máxima predefinida del modelo si uno de los parámetros de truncamiento/relleno lo requiere. Si el modelo no tiene una longitud máxima de entrada específica (como XLNet), el truncamiento/relleno a una longitud máxima se desactivará.

  • stride (int, opcional, valor predeterminado 0) — Si se establece en un número junto con max_length, los tokens sobrantes devueltos cuando return_overflowing_tokens=True contendrán algunos tokens del final de la secuencia truncada devuelta para proporcionar cierta superposición entre las secuencias truncadas y las sobrantes. El valor de este argumento define el número de tokens superpuestos.
  • pad_to_multiple_of (int, opcional) — Si se establece, se rellenará la secuencia hasta un múltiplo del valor proporcionado. Requiere que padding esté activado. Esto es especialmente útil para habilitar el uso de Tensor Cores en hardware de NVIDIA con capacidad de cálculo >= 7.5 (Volta).
  • return_token_type_ids (bool, opcional) — Si se deben devolver los IDs de tipo de token. Si se deja en el valor predeterminado, se devolverán los IDs de tipo de token según el valor predeterminado del tokenizador específico, definido por el return_outputs atributo.

    ¿Qué son los IDs de tipo de token?

  • return_attention_mask (bool, opcional) — Si se debe devolver la máscara de atención. Si se deja en el valor predeterminado, se devolverá la máscara de atención según el valor predeterminado del tokenizador específico, definido por el return_outputs atributo.

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

  • return_overflowing_tokens (bool, opcional, valor predeterminado False) — Indica si se deben devolver las secuencias de tokens que exceden el límite. Si se proporciona un par de secuencias de ids de entrada (o un lote de pares) con truncation_strategy = longest_first o True, se genera un error en lugar de devolver los tokens que exceden el límite.
  • return_special_tokens_mask (bool, opcional, valor predeterminado False) — Indica si se debe o no devolver información de la máscara de tokens especiales.
  • return_offsets_mapping (bool, opcional, por defecto False) — Si se devuelve o no (char_start, char_end) para cada token.

    Esto solo está disponible en los tokenizadores rápidos que heredan de PreTrainedTokenizerFast; si se utiliza el tokenizador de Python, este método lanzará NotImplementedError.

  • return_length (bool, opcional, valor predeterminado False) — Indica si se deben devolver las longitudes de las entradas codificadas.
  • verbose (bool, opcional, valor predeterminado True) — Si se imprime más información y advertencias.
  • return_tensors (Union[str, ~utils.generic.TensorType], opcional) — Si se establece, devolverá tensores de un marco de trabajo específico. Los valores aceptables son:
    • 'pt': Devuelve objetos torch.Tensor de PyTorch.
    • 'np': Devuelve objetos np.ndarray de NumPy.

Devuelve

~tokenization_utils_base.BatchEncoding

  • data (dict, opcional) — Diccionario de listas/arrays/tensores devueltos por los métodos __call__/encode_plus/batch_encode_plus (‘input_ids’, ‘attention_mask’, etc.).
  • encoding (tokenizers.Encoding o Sequence[tokenizers.Encoding], opcional) — Si el tokenizador es un tokenizador rápido que genera información adicional, como el mapeo del espacio de palabras/caracteres al espacio de tokens, la instancia de tokenizers.Encoding o la lista de instancias (para lotes) contiene esta información.
  • tensor_type (Union[None, str, TensorType], opcional) — Puede especificar un tensor_type aquí para convertir las listas de enteros en Tensors de PyTorch/Numpy durante la inicialización.
  • prepend_batch_axis (bool, opcional, valor predeterminado False) — Indica si se debe añadir un eje de lote al convertir a tensores (consulte tensor_type arriba). Tenga en cuenta que este parámetro tiene un efecto si el parámetro tensor_type está establecido, en caso contrario no tiene efecto.
  • n_sequences (int, opcional) — El número de secuencias de entrada representadas por cada codificación (None para desconocido, 1 para una secuencia única y 2 para un par de secuencias).
Update on GitHub