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
ou PYTORCH_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âenvironnement TRANSFORMERS_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")
Consultez 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.