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:
- PyTorch istruzioni di installazione.
- TensorFlow 2.0 istruzioni di installazione.
- Flax istruzioni di installazione.
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:
- Variabile dâambiente della shell (default):
TRANSFORMERS_CACHE
. - Variabile dâambiente della shell:
HF_HOME
+transformers/
. - 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 â.
Utilizza il flusso
PreTrainedModel.from_pretrained()
ePreTrainedModel.save_pretrained()
: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")
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")
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:
Installa la libreria
huggingface_hub
nel tuo ambiente virtuale:python -m pip install huggingface_hub
Utilizza la funzione
hf_hub_download
per scaricare un file in un path specifico. Per esempio, il seguente comando scarica il fileconfig.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.