#
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:

1. Shell-Umgebungsvariable (Standard): `HUGGINGFACE_HUB_CACHE` oder `TRANSFORMERS_CACHE`.
2. Shell-Umgebungsvariable: `HF_HOME`.
3. 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:

  1. 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")

  2. 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")

  3. 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:

  1. Installieren Sie die “huggingface_hub”-Bibliothek in Ihrer virtuellen Umgebung:

         python -m pip install huggingface_hub

  2. 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.