Transformers documentation

Installazione

You are viewing v4.42.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

Installazione

Installa 🤗 Transformers per qualsiasi libreria di deep learning con cui stai lavorando, imposta la tua cache, e opzionalmente configura 🤗 Transformers per l’esecuzione offline.

🤗 Transformers è testato su Python 3.6+, PyTorch 1.1.0+, TensorFlow 2.0+, e Flax. Segui le istruzioni di installazione seguenti per la libreria di deep learning che stai utilizzando:

Installazione con pip

Puoi installare 🤗 Transformers in un ambiente virtuale. Se non sei familiare con gli ambienti virtuali in Python, dai un’occhiata a questa guida. Un ambiente virtuale rende più semplice la gestione di progetti differenti, evitando problemi di compatibilità tra dipendenze.

Inizia creando un ambiente virtuale nella directory del tuo progetto:

python -m venv .env

Attiva l’ambiente virtuale:

source .env/bin/activate

Ora puoi procedere con l’installazione di 🤗 Transformers eseguendo il comando seguente:

pip install transformers

Per il solo supporto della CPU, puoi installare facilmente 🤗 Transformers e una libreria di deep learning in solo una riga. Ad esempio, installiamo 🤗 Transformers e PyTorch con:

pip install transformers[torch]

🤗 Transformers e TensorFlow 2.0:

pip install transformers[tf-cpu]

🤗 Transformers e Flax:

pip install transformers[flax]

Infine, verifica se 🤗 Transformers è stato installato in modo appropriato eseguendo il seguente comando. Questo scaricherà un modello pre-allenato:

python -c "from transformers import pipeline; print(pipeline('sentiment-analysis')('we love you'))"

Dopodiché stampa l’etichetta e il punteggio:

[{'label': 'POSITIVE', 'score': 0.9998704791069031}]

Installazione dalla fonte

Installa 🤗 Transformers dalla fonte con il seguente comando:

pip install git+https://github.com/huggingface/transformers

Questo comando installa la versione main più attuale invece dell’ultima versione stabile. Questo è utile per stare al passo con gli ultimi sviluppi. Ad esempio, se un bug è stato sistemato da quando è uscita l’ultima versione ufficiale ma non è stata ancora rilasciata una nuova versione. Tuttavia, questo significa che questa versione main può non essere sempre stabile. Ci sforziamo per mantenere la versione main operativa, e la maggior parte dei problemi viene risolta in poche ore o in un giorno. Se riscontri un problema, per favore apri una Issue così possiamo sistemarlo ancora più velocemente!

Controlla se 🤗 Transformers è stata installata in modo appropriato con il seguente comando:

python -c "from transformers import pipeline; print(pipeline('sentiment-analysis')('I love you'))"

Installazione modificabile

Hai bisogno di un’installazione modificabile se vuoi:

  • Usare la versione main del codice dalla fonte.
  • Contribuire a 🤗 Transformers e hai bisogno di testare i cambiamenti nel codice.

Clona il repository e installa 🤗 Transformers con i seguenti comandi:

git clone https://github.com/huggingface/transformers.git
cd transformers
pip install -e .

Questi comandi collegheranno la cartella in cui è stato clonato il repository e i path delle librerie Python. Python guarderà ora all’interno della cartella clonata, oltre ai normali path delle librerie. Per esempio, se i tuoi pacchetti Python sono installati tipicamente in ~/anaconda3/envs/main/lib/python3.7/site-packages/, Python cercherà anche nella cartella clonata: ~/transformers/.

Devi tenere la cartella transformers se vuoi continuare ad utilizzare la libreria.

Ora puoi facilmente aggiornare il tuo clone all’ultima versione di 🤗 Transformers con il seguente comando:

cd ~/transformers/
git pull

Il tuo ambiente Python troverà la versione main di 🤗 Transformers alla prossima esecuzione.

Installazione con conda

Installazione dal canale conda conda-forge:

conda install conda-forge::transformers

Impostazione della cache

I modelli pre-allenati sono scaricati e memorizzati localmente nella cache in: ~/.cache/huggingface/transformers/. Questa è la directory di default data dalla variabile d’ambiente della shell TRANSFORMERS_CACHE. Su Windows, la directory di default è data da C:\Users\username\.cache\huggingface\transformers. Puoi cambiare le variabili d’ambiente della shell indicate in seguito, in ordine di priorità, per specificare una directory differente per la cache:

  1. Variabile d’ambiente della shell (default): TRANSFORMERS_CACHE.
  2. Variabile d’ambiente della shell: HF_HOME + transformers/.
  3. Variabile d’ambiente della shell: XDG_CACHE_HOME + /huggingface/transformers.

🤗 Transformers utilizzerà le variabili d’ambiente della shell PYTORCH_TRANSFORMERS_CACHE o PYTORCH_PRETRAINED_BERT_CACHE se si proviene da un’iterazione precedente di questa libreria e sono state impostate queste variabili d’ambiente, a meno che non si specifichi la variabile d’ambiente della shell TRANSFORMERS_CACHE.

ModalitĂ  Offline

🤗 Transformers può essere eseguita in un ambiente firewalled o offline utilizzando solo file locali. Imposta la variabile d’ambiente HF_HUB_OFFLINE=1 per abilitare questo comportamento.

Aggiungi 🤗 Datasets al tuo flusso di lavoro offline di training impostando la variabile d’ambiente HF_DATASETS_OFFLINE=1.

Ad esempio, in genere si esegue un programma su una rete normale, protetta da firewall per le istanze esterne, con il seguente comando:

python examples/pytorch/translation/run_translation.py --model_name_or_path google-t5/t5-small --dataset_name wmt16 --dataset_config ro-en ...

Esegui lo stesso programma in un’istanza offline con:

HF_DATASETS_OFFLINE=1 HF_HUB_OFFLINE=1 \
python examples/pytorch/translation/run_translation.py --model_name_or_path google-t5/t5-small --dataset_name wmt16 --dataset_config ro-en ...

Lo script viene ora eseguito senza bloccarsi o attendere il timeout, perchĂŠ sa di dover cercare solo file locali.

Ottenere modelli e tokenizer per l’uso offline

Un’altra opzione per utilizzare offline 🤗 Transformers è scaricare i file in anticipo, e poi puntare al loro path locale quando hai la necessità di utilizzarli offline. Ci sono tre modi per fare questo:

  • Scarica un file tramite l’interfaccia utente sul Model Hub premendo sull’icona ↓.

    download-icon

  • Utilizza il flusso PreTrainedModel.from_pretrained() e PreTrainedModel.save_pretrained():

    1. Scarica i tuoi file in anticipo con PreTrainedModel.from_pretrained():

      >>> from transformers import AutoTokenizer, AutoModelForSeq2SeqLM
      
      >>> tokenizer = AutoTokenizer.from_pretrained("bigscience/T0_3B")
      >>> model = AutoModelForSeq2SeqLM.from_pretrained("bigscience/T0_3B")
    2. Salva i tuoi file in una directory specificata con PreTrainedModel.save_pretrained():

      >>> tokenizer.save_pretrained("./il/tuo/path/bigscience_t0")
      >>> model.save_pretrained("./il/tuo/path/bigscience_t0")
    3. Ora quando sei offline, carica i tuoi file con PreTrainedModel.from_pretrained() dalla directory specificata:

      >>> tokenizer = AutoTokenizer.from_pretrained("./il/tuo/path/bigscience_t0")
      >>> model = AutoModel.from_pretrained("./il/tuo/path/bigscience_t0")
  • Scarica in maniera programmatica i file con la libreria huggingface_hub:

    1. Installa la libreria huggingface_hub nel tuo ambiente virtuale:

      python -m pip install huggingface_hub
    2. Utilizza la funzione hf_hub_download per scaricare un file in un path specifico. Per esempio, il seguente comando scarica il file config.json dal modello T0 nel path che desideri:

      >>> from huggingface_hub import hf_hub_download
      
      >>> hf_hub_download(repo_id="bigscience/T0_3B", filename="config.json", cache_dir="./il/tuo/path/bigscience_t0")

Una volta che il tuo file è scaricato e salvato in cache localmente, specifica il suo path locale per caricarlo e utilizzarlo:

>>> from transformers import AutoConfig

>>> config = AutoConfig.from_pretrained("./il/tuo/path/bigscience_t0/config.json")

Fai riferimento alla sezione How to download files from the Hub per avere maggiori dettagli su come scaricare modelli presenti sull Hub.

< > Update on GitHub