Installation
Installieren Sie 🤗 Transformers für die Deep-Learning-Bibliothek, mit der Sie arbeiten, richten Sie Ihren Cache ein und konfigurieren Sie 🤗 Transformers optional für den Offline-Betrieb.
🤗 Transformers wurde unter Python 3.6+, PyTorch 1.1.0+, TensorFlow 2.0+, und Flax getestet. Folgen Sie den Installationsanweisungen unten für die von Ihnen verwendete Deep-Learning-Bibliothek:
- PyTorch installation instructions.
- TensorFlow 2.0 installation instructions.
- Flax installation instructions.
Installation mit pip
Sie sollten 🤗 Transformers in einer virtuellen Umgebung installieren. Wenn Sie mit virtuellen Python-Umgebungen nicht vertraut sind, werfen Sie einen Blick auf diese Anleitung. Eine virtuelle Umgebung macht es einfacher, verschiedene Projekte zu verwalten und Kompatibilitätsprobleme zwischen Abhängigkeiten zu vermeiden.
Beginnen wir mit der Erstellung einer virtuellen Umgebung in Ihrem Projektverzeichnis:
python -m venv .env
Aktivieren wir die virtuelle Umgebung. Unter Linux und MacOs:
source .env/bin/activate
Aktivieren wir die virtuelle Umgebung unter Windows
.env/Scripts/activate
Jetzt können wir die 🤗 Transformers mit dem folgenden Befehl installieren:
pip install transformers
Bei reiner CPU-Unterstützung können wir 🤗 Transformers und eine Deep-Learning-Bibliothek bequem in einer Zeile installieren. Installieren wir zum Beispiel 🤗 Transformers und PyTorch mit:
pip install transformers[torch]
🤗 Transformers und TensorFlow 2.0:
pip install transformers[tf-cpu]
🤗 Transformers und Flax:
pip install transformers[flax]
Überprüfen wir abschließend, ob 🤗 Transformers ordnungsgemäß installiert wurde, indem wir den folgenden Befehl ausführen. Es wird ein vortrainiertes Modell heruntergeladen:
python -c "from transformers import pipeline; print(pipeline('sentiment-analysis')('we love you'))"
Dann wird die Kategorie und die Wahrscheinlichkeit ausgegeben:
[{'label': 'POSITIVE', 'score': 0.9998704791069031}]
Installation aus dem Code
Installieren wir 🤗 Transformers aus dem Quellcode mit dem folgenden Befehl:
pip install git+https://github.com/huggingface/transformers
Dieser Befehl installiert die aktuelle main
Version und nicht die neueste stable
Version. Die main
-Version ist nützlich, um mit den neuesten Entwicklungen Schritt zu halten. Zum Beispiel, wenn ein Fehler seit der letzten offiziellen Version behoben wurde, aber eine neue Version noch nicht veröffentlicht wurde. Das bedeutet jedoch, dass die “Hauptversion” nicht immer stabil ist. Wir bemühen uns, die Hauptversion einsatzbereit zu halten, und die meisten Probleme werden normalerweise innerhalb weniger Stunden oder eines Tages behoben. Wenn Sie auf ein Problem stoßen, öffnen Sie bitte ein Issue, damit wir es noch schneller beheben können!
Überprüfen wir, ob 🤗 Transformers richtig installiert wurde, indem Sie den folgenden Befehl ausführen:
python -c "from transformers import pipeline; print(pipeline('sentiment-analysis')('I love you'))"
Editierbare Installation
Sie benötigen eine bearbeitbare Installation, wenn Sie:
- die “Haupt”-Version des Quellcodes verwenden möchten.
- Zu 🤗 Transformers beitragen und Änderungen am Code testen wollen.
Klonen Sie das Repository und installieren 🤗 Transformers mit den folgenden Befehlen:
git clone https://github.com/huggingface/transformers.git
cd transformers
pip install -e .
Diese Befehle verknüpfen den Ordner, in den Sie das Repository geklont haben, mit den Pfaden Ihrer Python-Bibliotheken. Python wird nun in dem Ordner suchen, in den Sie geklont haben, zusätzlich zu den normalen Bibliothekspfaden. Wenn zum Beispiel Ihre Python-Pakete normalerweise in ~/anaconda3/envs/main/lib/python3.7/site-packages/
installiert sind, wird Python auch den Ordner durchsuchen, in den Sie geklont haben: ~/transformers/
.
Sie müssen den Ordner transformers
behalten, wenn Sie die Bibliothek weiter verwenden wollen.
Jetzt können Sie Ihren Klon mit dem folgenden Befehl ganz einfach auf die neueste Version von 🤗 Transformers aktualisieren:
cd ~/transformers/
git pull
Ihre Python-Umgebung wird beim nächsten Ausführen die main
-Version von 🤗 Transformers finden.
Installation mit conda
Installation von dem conda Kanal conda-forge
:
conda install conda-forge::transformers
Cache Einrichtung
Vorgefertigte Modelle werden heruntergeladen und lokal zwischengespeichert unter: ~/.cache/huggingface/hub
. Dies ist das Standardverzeichnis, das durch die Shell-Umgebungsvariable “TRANSFORMERS_CACHE” vorgegeben ist. Unter Windows wird das Standardverzeichnis durch C:\Benutzer\Benutzername\.cache\huggingface\hub
angegeben. Sie können die unten aufgeführten Shell-Umgebungsvariablen - in der Reihenfolge ihrer Priorität - ändern, um ein anderes Cache-Verzeichnis anzugeben:
- Shell-Umgebungsvariable (Standard):
HUGGINGFACE_HUB_CACHE
oderTRANSFORMERS_CACHE
. - Shell-Umgebungsvariable:
HF_HOME
. - Shell-Umgebungsvariable:
XDG_CACHE_HOME
+/huggingface
.
Transformers verwendet die Shell-Umgebungsvariablen PYTORCH_TRANSFORMERS_CACHE
oder PYTORCH_PRETRAINED_BERT_CACHE
, wenn Sie von einer früheren Iteration dieser Bibliothek kommen und diese Umgebungsvariablen gesetzt haben, sofern Sie nicht die Shell-Umgebungsvariable TRANSFORMERS_CACHE
angeben.
Offline Modus
Transformers ist in der Lage, in einer Firewall- oder Offline-Umgebung zu laufen, indem es nur lokale Dateien verwendet. Setzen Sie die Umgebungsvariable TRANSFORMERS_OFFLINE=1
, um dieses Verhalten zu aktivieren.
Fügen sie 🤗 Datasets zu Ihrem Offline-Trainingsworkflow hinzufügen, indem Sie die Umgebungsvariable HF_DATASETS_OFFLINE=1
setzen.
So würden Sie beispielsweise ein Programm in einem normalen Netzwerk mit einer Firewall für externe Instanzen mit dem folgenden Befehl ausführen:
python examples/pytorch/translation/run_translation.py --model_name_or_path google-t5/t5-small --dataset_name wmt16 --dataset_config ro-en ...
Führen Sie das gleiche Programm in einer Offline-Instanz mit aus:
HF_DATASETS_OFFLINE=1 TRANSFORMERS_OFFLINE=1 \ python examples/pytorch/translation/run_translation.py --model_name_or_path google-t5/t5-small --dataset_name wmt16 --dataset_config ro-en ...
Das Skript sollte nun laufen, ohne sich aufzuhängen oder eine Zeitüberschreitung abzuwarten, da es weiß, dass es nur nach lokalen Dateien suchen soll.
Abrufen von Modellen und Tokenizern zur Offline-Verwendung
Eine andere Möglichkeit, 🤗 Transformers offline zu verwenden, besteht darin, die Dateien im Voraus herunterzuladen und dann auf ihren lokalen Pfad zu verweisen, wenn Sie sie offline verwenden müssen. Es gibt drei Möglichkeiten, dies zu tun:
Laden Sie eine Datei über die Benutzeroberfläche des Model Hub herunter, indem Sie auf das ↓-Symbol klicken.
Verwenden Sie den [PreTrainedModel.from_pretrained] und [PreTrainedModel.save_pretrained] Workflow:
Laden Sie Ihre Dateien im Voraus mit
PreTrainedModel.from_pretrained()
herunter:>>> from transformers import AutoTokenizer, AutoModelForSeq2SeqLM >>> tokenizer = AutoTokenizer.from_pretrained("bigscience/T0_3B") >>> model = AutoModelForSeq2SeqLM.from_pretrained("bigscience/T0_3B")
Speichern Sie Ihre Dateien in einem bestimmten Verzeichnis mit
PreTrainedModel.save_pretrained()
:>>> tokenizer.save_pretrained("./your/path/bigscience_t0") >>> model.save_pretrained("./your/path/bigscience_t0")
Wenn Sie nun offline sind, laden Sie Ihre Dateien mit
PreTrainedModel.from_pretrained()
aus dem bestimmten Verzeichnis:>>> tokenizer = AutoTokenizer.from_pretrained("./your/path/bigscience_t0") >>> model = AutoModel.from_pretrained("./your/path/bigscience_t0")
Programmatisches Herunterladen von Dateien mit der huggingface_hub Bibliothek:
Installieren Sie die “huggingface_hub”-Bibliothek in Ihrer virtuellen Umgebung:
python -m pip install huggingface_hub
Verwenden Sie die Funktion
hf_hub_download
, um eine Datei in einen bestimmten Pfad herunterzuladen. Der folgende Befehl lädt zum Beispiel die Datei “config.json” aus dem Modell T0 in den gewünschten Pfad herunter:>>> from huggingface_hub import hf_hub_download >>> hf_hub_download(repo_id="bigscience/T0_3B", filename="config.json", cache_dir="./your/path/bigscience_t0")
Sobald Ihre Datei heruntergeladen und lokal zwischengespeichert ist, geben Sie den lokalen Pfad an, um sie zu laden und zu verwenden:
>>> from transformers import AutoConfig
>>> config = AutoConfig.from_pretrained("./your/path/bigscience_t0/config.json")
Weitere Informationen zum Herunterladen von Dateien, die auf dem Hub gespeichert sind, finden Sie im Abschnitt Wie man Dateien vom Hub herunterlädt.