Einfache Transformator -Implementierung von Grund auf neu in Pytorch. Eine eingehende Erklärung finden Sie unter http://peterbloem.nl/blog/Transformers.
Die hier implementierten Modelle sind so konzipiert, dass sie die Einfachheit von Transformatormodellen und Selbstbekämpfung zeigen. Als solche werden sie nicht nach den größeren Transformatoren skalieren. Dafür benötigen Sie eine Reihe von Tricks, die den Code komplizieren (Einzelheiten finden Sie im Blog -Beitrag).
Alle Modelle im Repository bestehen aus einem einzelnen Stapel von Transformatorblöcken (dh keine Encoder-/Decoderstrukturen). Es stellt sich heraus, dass diese einfache Konfiguration häufig am besten funktioniert.
Download oder klonen Sie zuerst das Repository. Dann im Verzeichnis, das Setup.py enthält, laufen
pip install -e .
Der Switch -e stellt sicher, dass beim Bearbeiten des Codes auch der installierte Verpackt geändert wird. Dies bedeutet, dass Sie zum Beispiel Druckanweisungen zum Code hinzufügen können, um zu sehen, wie er funktioniert.
Rennen Sie dann aus demselben Verzeichnis:
python experiments/classify.py
Dadurch wird ein einfaches Klassifizierungsexperiment im IMDB -Datensatz durchgeführt.
Hyperparameter werden als Befehlszeilenargumente übergeben. Die Standardeinstellungen sollten gut funktionieren. Die Klassifizierungsdaten werden automatisch heruntergeladen und die Wikipedia -Daten sind im Repository enthalten.
Python 3.6+ ist erforderlich. Der obige PIP -Befehl sollte alle erforderlichen Pakete installieren. Möglicherweise benötigen Sie möglicherweise auch pip install future , abhängig von der genauen Python -Version.
Die environment.yml beschreibt eine vollständige Conda -Umgebung mit allen Abhängigkeiten. Nach dem Klonen oder Herunterladen des Projekts erstellen Sie die Umgebung wie folgt:
conda env create -f environment.yml --name former
conda activate former