Transformers documentation
Installation
Installation
Installez đ€ Transformers pour nâimporte quelle librairie dâapprentissage profond avec laquelle vous avez lâhabitude de travaillez, configurez votre cache et configurez đ€ Transformers pour un usage hors ligne (facultatif).
đ€ Transformers est testĂ© avec Python 3.6+, PyTorch 1.1.0+, TensorFlow 2.0+ et Flax. Consulter les instructions dâinstallation ci-dessous pour la librairie dâapprentissage profond que vous utilisez:
- Instructions dâinstallation pour PyTorch.
- Instructions dâinstallation pour TensorFlow 2.0.
- Instructions dâinstallation pour Flax.
Installation avec pip
Vous devriez installer đ€ Transformers dans un environnement virtuel. Si vous nâĂȘtes pas Ă lâaise avec les environnements virtuels, consultez ce guide. Utiliser un environnement virtuel permet de facilement gĂ©rer diffĂ©rents projets et dâĂ©viter des erreurs de compatibilitĂ© entre les diffĂ©rentes dĂ©pendances.
Commencez par crĂ©er un environnement virtuel dans lâespace de travail de votre projet :
python -m venv .env
Activez lâenvironnement virtuel. Sur Linux ou MacOs :
source .env/bin/activate
Activez lâenvironnement virtuel sur Windows :
.env/Scripts/activate
Maintenant, đ€ Transformers peut ĂȘtre installĂ© avec la commande suivante :
pip install transformers
Pour une utilisation avec CPU seulement, đ€ Transformers et la librairie dâapprentissage profond de votre choix peuvent ĂȘtre installĂ©s en une seule ligne. Par exemple, installez đ€ Transformers et PyTorch avec la commande suivante :
pip install 'transformers[torch]'
đ€ Transformers et TensorFlow 2.0 :
pip install 'transformers[tf-cpu]'
Pour les architectures mac M1 / ARM
Vous devez installer les outils suivants avant dâinstaller TensorFLow 2.0
brew install cmake brew install pkg-config
đ€ Transformers et Flax :
pip install 'transformers[flax]'
VĂ©rifiez que đ€ Transformers a bien Ă©tĂ© installĂ© avec la commande suivante. La commande va tĂ©lĂ©charger un modĂšle prĂ©-entraĂźnĂ© :
python -c "from transformers import pipeline; print(pipeline('sentiment-analysis')('we love you'))"
Le label et score sont ensuite affichés :
[{'label': 'POSITIVE', 'score': 0.9998704791069031}]
Installation depuis le code source
Installez đ€ Transformers depuis le code source avec la commande suivante :
pip install git+https://github.com/huggingface/transformers
Cette commande installe la version depuis la branche main
au lieu de la derniĂšre version stable. La version de la branche main
est utile pour avoir les derniers dĂ©veloppements. Par exemple, si un bug a Ă©tĂ© rĂ©solu depuis la derniĂšre version stable mais nâa pas encore Ă©tĂ© publiĂ© officiellement. Cependant, cela veut aussi dire que la version de la branche main
nâest pas toujours stable. Nous nous efforçons de maintenir la version de la branche main
opĂ©rationnelle, et la plupart des problĂšmes sont gĂ©nĂ©ralement rĂ©solus en lâespace de quelques heures ou dâun jour. Si vous recontrez un problĂšme, nâhĂ©sitez pas Ă crĂ©er une Issue pour que lâon puisse trouver une solution au plus vite !
VĂ©rifiez que đ€ Transformers a bien Ă©tĂ© installĂ© avec la commande suivante :
python -c "from transformers import pipeline; print(pipeline('sentiment-analysis')('I love you'))"
Installation modifiable
Vous aurez besoin dâune installation modifiable si vous le souhaitez :
- Utiliser la version de la branche
main
du code source. - Contribuer Ă đ€ Transformers et vouler tester vos modifications du code source.
Clonez le projet et installez đ€ Transformers avec les commandes suivantes :
git clone https://github.com/huggingface/transformers.git
cd transformers
pip install -e .
Ces commandes crĂ©ent des liens entre le dossier oĂč le projet a Ă©tĂ© clonĂ© et les chemins de vos librairies Python. Python regardera maintenant dans le dossier que vous avez clonĂ© en plus des dossiers oĂč sont installĂ©es vos autres librairies. Par exemple, si vos librairies Python sont installĂ©es dans ~/anaconda3/envs/main/lib/python3.7/site-packages/
, Python cherchera aussi dans le dossier oĂč vous avez clonĂ© : ~/transformers/
.
Vous devez garder le dossier
transformers
si vous voulez continuer dâutiliser la librairie.
Maintenant, vous pouvez facilement mettre Ă jour votre clone avec la derniĂšre version de đ€ Transformers en utilisant la commande suivante :
cd ~/transformers/
git pull
Votre environnement Python utilisera la version de la branche main
lors de la prochaine exécution.
Installation avec conda
Installation via le canal conda-forge
de conda :
conda install conda-forge::transformers
Configuration du cache
Les modÚles pré-entraßnés sont téléchargés et mis en cache localement dans le dossier suivant : ~/.cache/huggingface/hub
. Câest le dossier par dĂ©faut donnĂ© par la variable dâenvironnement TRANSFORMERS_CACHE
. Sur Windows, le dossier par défaut est C:\Users\nom_utilisateur\.cache\huggingface\hub
. Vous pouvez modifier les variables dâenvironnement indiquĂ©es ci-dessous - par ordre de prioritĂ© - pour spĂ©cifier un dossier de cache diffĂ©rent :
- Variable dâenvironnement (par dĂ©faut) :
HF_HUB_CACHE
ouTRANSFORMERS_CACHE
. - Variable dâenvironnement :
HF_HOME
. - Variable dâenvironnement :
XDG_CACHE_HOME
+/huggingface
.
đ€ Transformers utilisera les variables dâenvironnement
PYTORCH_TRANSFORMERS_CACHE
ouPYTORCH_PRETRAINED_BERT_CACHE
si vous utilisez une version prĂ©cĂ©dente de cette librairie et avez dĂ©fini ces variables dâenvironnement, sauf si vous spĂ©cifiez la variable dâenvironnementTRANSFORMERS_CACHE
.
Mode hors ligne
đ€ Transformers peut fonctionner dans un environnement cloisonnĂ© ou hors ligne en nâutilisant que des fichiers locaux. DĂ©finissez la variable dâenvironnement HF_HUB_OFFLINE=1
pour activer ce mode.
Ajoutez đ€ Datasets Ă votre processus dâentraĂźnement hors ligne en dĂ©finissant la variable dâenvironnement
HF_DATASETS_OFFLINE=1
.
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 ...
Le script devrait maintenant sâexĂ©cuter sans rester en attente ou attendre une expiration, car il nâessaiera pas de tĂ©lĂ©charger des modĂšle sur le Hub.
Vous pouvez aussi éviter de télécharger un modÚle à chaque appel de la fonction from_pretrained()
en utilisant le paramÚtre [local_files_only]. Seuls les fichiers locaux sont chargés lorsque ce paramÚtre est activé (c.-à -d. local_files_only=True
) :
from transformers import T5Model
model = T5Model.from_pretrained("./path/to/local/directory", local_files_only=True)
Récupérer des modÚles et des tokenizers pour une utilisation hors ligne
Une autre option pour utiliser đ€ Transformers hors ligne est de tĂ©lĂ©charger les fichiers Ă lâavance, puis dâutiliser les chemins locaux lorsque vous en avez besoin en mode hors ligne. Il existe trois façons de faire cela :
TĂ©lĂ©chargez un fichier via lâinterface utilisateur sur le Model Hub en cliquant sur lâicĂŽne â.
Utilisez les fonctions
PreTrainedModel.from_pretrained()
etPreTrainedModel.save_pretrained()
:- TĂ©lĂ©chargez vos fichiers Ă lâavance avec
PreTrainedModel.from_pretrained()
:
>>> from transformers import AutoTokenizer, AutoModelForSeq2SeqLM >>> tokenizer = AutoTokenizer.from_pretrained("bigscience/T0_3B") >>> model = AutoModelForSeq2SeqLM.from_pretrained("bigscience/T0_3B")
- Sauvegardez les fichiers dans un dossier de votre choix avec
PreTrainedModel.save_pretrained()
:
>>> tokenizer.save_pretrained("./your/path/bigscience_t0") >>> model.save_pretrained("./your/path/bigscience_t0")
- Maintenant, lorsque vous ĂȘtes hors ligne, rechargez vos fichiers avec
PreTrainedModel.from_pretrained()
depuis le dossier oĂč vous les avez sauvegardĂ©s :
>>> tokenizer = AutoTokenizer.from_pretrained("./your/path/bigscience_t0") >>> model = AutoModel.from_pretrained("./your/path/bigscience_t0")
- TĂ©lĂ©chargez vos fichiers Ă lâavance avec
Téléchargez des fichiers de maniÚre automatique avec la librairie huggingface_hub :
- Installez la librairie
huggingface_hub
dans votre environnement virtuel :
python -m pip install huggingface_hub
- Utilisez la fonction
hf_hub_download
pour télécharger un fichier vers un chemin de votre choix. Par exemple, la commande suivante télécharge le fichierconfig.json
du modĂšle T0 vers le chemin de votre choix :
>>> from huggingface_hub import hf_hub_download >>> hf_hub_download(repo_id="bigscience/T0_3B", filename="config.json", cache_dir="./your/path/bigscience_t0")
- Installez la librairie
Une fois que votre fichier est tĂ©lĂ©chargĂ© et cachĂ© localement, spĂ©cifiez son chemin local pour le charger et lâutiliser :
>>> from transformers import AutoConfig
>>> config = AutoConfig.from_pretrained("./your/path/bigscience_t0/config.json")
< > Update on GitHubConsultez la section How to download files from the Hub (Comment télécharger des fichiers depuis le Hub) pour plus de détails sur le téléchargement de fichiers stockés sur le Hub.