Transformers documentation

Carga instancias preentrenadas con un AutoClass

You are viewing v4.38.1 version. A newer version v4.46.3 is available.
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Carga instancias preentrenadas con un AutoClass

Con tantas arquitecturas diferentes de Transformer puede ser retador crear una para tu checkpoint. Como parte de la filosofía central de 🤗 Transformers para hacer que la biblioteca sea fácil, simple y flexible de usar; una AutoClass automáticamente infiere y carga la arquitectura correcta desde un checkpoint dado. El método from_pretrained te permite cargar rápidamente un modelo preentrenado para cualquier arquitectura, por lo que no tendrás que dedicar tiempo y recursos para entrenar uno desde cero. Producir este tipo de código con checkpoint implica que si funciona con uno, funcionará también con otro (siempre que haya sido entrenado para una tarea similar) incluso si la arquitectura es distinta.

Recuerda, la arquitectura se refiere al esqueleto del modelo y los checkpoints son los pesos para una arquitectura dada. Por ejemplo, BERT es una arquitectura, mientras que google-bert/bert-base-uncased es un checkpoint. Modelo es un término general que puede significar una arquitectura o un checkpoint.

En este tutorial, aprenderás a:

  • Cargar un tokenizador pre-entrenado.
  • Cargar un extractor de características (feature extractor en inglés) pre-entrenado.
  • Cargar un procesador pre-entrenado.
  • Cargar un modelo pre-entrenado.

AutoTokenizer

Casi cualquier tarea de Procesamiento de Lenguaje Natural comienza con un tokenizador. Un tokenizador convierte tu input a un formato que puede ser procesado por el modelo.

Carga un tokenizador con AutoTokenizer.from_pretrained():

>>> from transformers import AutoTokenizer

>>> tokenizer = AutoTokenizer.from_pretrained("google-bert/bert-base-uncased")

Luego tokeniza tu input como lo mostrado a continuación:

>>> sequence = "In a hole in the ground there lived a hobbit."
>>> print(tokenizer(sequence))
{'input_ids': [101, 1999, 1037, 4920, 1999, 1996, 2598, 2045, 2973, 1037, 7570, 10322, 4183, 1012, 102], 
 'token_type_ids': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 
 'attention_mask': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}

AutoFeatureExtractor

Para tareas de audio y visión, un extractor de características procesa la señal de audio o imagen al formato de input correcto.

Carga un extractor de características con AutoFeatureExtractor.from_pretrained():

>>> from transformers import AutoFeatureExtractor

>>> feature_extractor = AutoFeatureExtractor.from_pretrained(
...     "ehcalabres/wav2vec2-lg-xlsr-en-speech-emotion-recognition"
... )

AutoProcessor

Las tareas multimodales requieren un procesador que combine dos tipos de herramientas de preprocesamiento. Por ejemplo, el modelo LayoutLMV2 requiere que un extractor de características maneje las imágenes y que un tokenizador maneje el texto; un procesador combina ambas.

Carga un procesador con AutoProcessor.from_pretrained():

>>> from transformers import AutoProcessor

>>> processor = AutoProcessor.from_pretrained("microsoft/layoutlmv2-base-uncased")

AutoModel

Pytorch
Hide Pytorch content

Finalmente, las clases AutoModelFor te permiten cargar un modelo preentrenado para una tarea dada (revisa aquí para conocer la lista completa de tareas disponibles). Por ejemplo, cargue un modelo para clasificación de secuencias con AutoModelForSequenceClassification.from_pretrained():

>>> from transformers import AutoModelForSequenceClassification

>>> model = AutoModelForSequenceClassification.from_pretrained("distilbert/distilbert-base-uncased")

Reutiliza fácilmente el mismo checkpoint para cargar una aquitectura para alguna tarea diferente:

>>> from transformers import AutoModelForTokenClassification

>>> model = AutoModelForTokenClassification.from_pretrained("distilbert/distilbert-base-uncased")

Generalmente recomendamos utilizar las clases AutoTokenizer y AutoModelFor para cargar instancias pre-entrenadas de modelos. Ésto asegurará que cargues la arquitectura correcta en cada ocasión. En el siguiente tutorial, aprende a usar tu tokenizador recién cargado, el extractor de características y el procesador para preprocesar un dataset para fine-tuning.

TensorFlow
Hide TensorFlow content

Finalmente, la clase TFAutoModelFor te permite cargar tu modelo pre-entrenado para una tarea dada (revisa aquí para conocer la lista completa de tareas disponibles). Por ejemplo, carga un modelo para clasificación de secuencias con TFAutoModelForSequenceClassification.from_pretrained():

>>> from transformers import TFAutoModelForSequenceClassification

>>> model = TFAutoModelForSequenceClassification.from_pretrained("distilbert/distilbert-base-uncased")

Reutiliza fácilmente el mismo checkpoint para cargar una aquitectura para alguna tarea diferente:

>>> from transformers import TFAutoModelForTokenClassification

>>> model = TFAutoModelForTokenClassification.from_pretrained("distilbert/distilbert-base-uncased")

Generalmente recomendamos utilizar las clases AutoTokenizer y TFAutoModelFor para cargar instancias de modelos pre-entrenados. Ésto asegurará que cargues la arquitectura correcta cada vez. En el siguiente tutorial, aprende a usar tu tokenizador recién cargado, el extractor de características y el procesador para preprocesar un dataset para fine-tuning.