Transformers documentation

Carica istanze pre-allenate con AutoClass

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

and get access to the augmented documentation experience

to get started

Carica istanze pre-allenate con AutoClass

Con così tante architetture Transformer differenti, può essere sfidante crearne una per il tuo checkpoint. Come parte della filosofia centrale di 🤗 Transformers per rendere la libreria facile, semplice e flessibile da utilizzare, una AutoClass inferisce e carica automaticamente l’architettura corretta da un dato checkpoint. Il metodo from_pretrained ti permette di caricare velocemente un modello pre-allenato per qualsiasi architettura, così non devi utilizzare tempo e risorse per allenare un modello da zero. Produrre questo codice agnostico ai checkpoint significa che se il tuo codice funziona per un checkpoint, funzionerà anche per un altro checkpoint, purché sia stato allenato per un compito simile, anche se l’architettura è differente.

Ricorda, con architettura ci si riferisce allo scheletro del modello e con checkpoint ai pesi di una determinata architettura. Per esempio, BERT è un’architettura, mentre google-bert/bert-base-uncased è un checkpoint. Modello è un termine generale che può significare sia architettura che checkpoint.

In questo tutorial, imparerai a:

  • Caricare un tokenizer pre-allenato.
  • Caricare un estrattore di caratteristiche (feature extractor, in inglese) pre-allenato.
  • Caricare un processore pre-allenato.
  • Caricare un modello pre-allenato.

AutoTokenizer

Quasi tutti i compiti di NLP iniziano con un tokenizer. Un tokenizer converte il tuo input in un formato che possa essere elaborato dal modello.

Carica un tokenizer con AutoTokenizer.from_pretrained():

>>> from transformers import AutoTokenizer

>>> tokenizer = AutoTokenizer.from_pretrained("FacebookAI/xlm-roberta-base")

Poi tokenizza il tuo input come mostrato in seguito:

>>> sequenza = "In un buco nel terreno viveva uno Hobbit."
>>> print(tokenizer(sequenza))
{'input_ids': [0, 360, 51, 373, 587, 1718, 54644, 22597, 330, 3269, 2291, 22155, 18, 5, 2],
 'attention_mask': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}

AutoFeatureExtractor

Per compiti inerenti a audio e video, un feature extractor processa il segnale audio o l’immagine nel formato di input corretto.

Carica un feature extractor con AutoFeatureExtractor.from_pretrained():

>>> from transformers import AutoFeatureExtractor

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

AutoProcessor

Compiti multimodali richiedono un processore che combini i due tipi di strumenti di elaborazione. Per esempio, il modello LayoutLMV2 richiede un feature extractor per gestire le immagine e un tokenizer per gestire il testo; un processore li combina entrambi.

Carica un processore con AutoProcessor.from_pretrained():

>>> from transformers import AutoProcessor

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

AutoModel

Pytorch
Hide Pytorch content

Infine, le classi AutoModelFor ti permettono di caricare un modello pre-allenato per un determinato compito (guarda qui per una lista completa di compiti presenti). Per esempio, carica un modello per la classificazione di sequenze con AutoModelForSequenceClassification.from_pretrained():

>>> from transformers import AutoModelForSequenceClassification

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

Semplicemente utilizza lo stesso checkpoint per caricare un’architettura per un task differente:

>>> from transformers import AutoModelForTokenClassification

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

Generalmente, raccomandiamo di utilizzare la classe AutoTokenizer e la classe AutoModelFor per caricare istanze pre-allenate dei modelli. Questo ti assicurerà di aver caricato la corretta architettura ogni volta. Nel prossimo tutorial, imparerai come utilizzare il tokenizer, il feature extractor e il processore per elaborare un dataset per il fine-tuning.

TensorFlow
Hide TensorFlow content

Infine, le classi TFAutoModelFor ti permettono di caricare un modello pre-allenato per un determinato compito (guarda qui per una lista completa di compiti presenti). Per esempio, carica un modello per la classificazione di sequenze con TFAutoModelForSequenceClassification.from_pretrained():

>>> from transformers import TFAutoModelForSequenceClassification

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

Semplicemente utilizza lo stesso checkpoint per caricare un’architettura per un task differente:

>>> from transformers import TFAutoModelForTokenClassification

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

Generalmente, raccomandiamo di utilizzare la classe AutoTokenizer e la classe TFAutoModelFor per caricare istanze pre-allenate dei modelli. Questo ti assicurerà di aver caricato la corretta architettura ogni volta. Nel prossimo tutorial, imparerai come utilizzare il tokenizer, il feature extractor e il processore per elaborare un dataset per il fine-tuning.