Der Inhalt des Aufgabensatzes für Aufgabe 1 ist hier, wobei das PDF der Aufgabe auch in diesem Repository als „aufgabe1.pdf“ enthalten ist
Dies verwendet Python 2.7. Führen Sie die Übungen mit python q{1,2,3}_{problem}.py aus. Führen Sie grundsätzlich jeden Code aus, indem Sie die Datei an den Python-Interpreter übergeben.
Für einige Funktionen wurden Tests durchgeführt, einige fehlen jedoch noch.
Ich denke, es gibt einen großen Teil von q3_word2vec.py, der von Plausibilitätstests profitieren kann.
Diese Aufgabe profitiert von der Verwendung von GPUs, daher gibt es Anweisungen zum Hochfahren einer Spot-Instanz auf AWS. Ich verwende eine p2.8xlarge-Instanz, die seit dem 4. Juni 7,20 $ pro Stunde kostet. Mit der Spot-Instanz ist es möglich, denselben Instanztyp für 1,3 $ pro Stunde auszuführen.
Um eine Anfrage für eine Spot-Instanz zu stellen, führen Sie ./aws_setup/setup.sh
aus. Derzeit geht dies von meinem Laptop aus und verwendet ein AWS-Profil, das ich für mein persönliches AWS-Konto eingerichtet habe. Sie müssten einige Änderungen vornehmen, und dies wird wahrscheinlich nicht so gut funktionieren, da sich das AWS AMI, das ich verwende, in meinem eigenen Konto befindet. Das geht im Moment nicht gut.
config.json ist eine gespeicherte Datei aus meiner ersten Spot-Instance-Anfrage über die AWS-Managementkonsole. Die gespeicherten Skripte config.json und setup.sh im Ordner aws_setup machen es mir viel einfacher, beim nächsten Mal, wenn ich ein Training durchführen möchte, eine Instanz erneut anzufordern.
Sobald die Instanz hochgefahren ist, befindet sich im Home-Ordner ein Ordner „cs224“. git pull origin master
und Sie haben den neuesten Code. Mit python q3_RNNLM.py
ausführen
./aws_setup enthält Unterstützungsskripte für die Erstellung der AWS-Spot-Instance-Infrastruktur
Quelle ./aws_setup/commands.sh, um einige grundlegende Befehle zu haben, die Folgendes ausführen: describe
die Umgebung setup
Sie eine neue Spot-Instanz ein, login
bei der Instanz an terminate
sie, wenn Sie fertig sind.
Wenn N mehrere Instanzen ausgeführt werden, wählen Sie aus, bei welcher Instanz Sie sich anmelden möchten, indem Sie eine Instanznummer von 0 bis N angeben. ./aws_setup/login.sh 0
um sich bei der ersten Instanz anzumelden
Die besten Ausführungen wurden in 90 Minuten auf p2.xlarge trainiert und hatten bei der Validierung eine Genauigkeit von 0,745.
Die Aktualisierung der Einbettungsgröße von den anfänglichen 35 auf 2800 änderte kaum etwas an der resultierenden Genauigkeit.
Die L2-Regularisierung war äußerst wichtig, um gute Validierungsergebnisse zu erzielen.
Die Genauigkeiten des Trainingssatzes und des Validierungssatzes lagen immer noch weit auseinander, die Genauigkeit des Trainingssatzes lag häufig über 92 %
Alle Ergebnisse der Ausführung von Aufgabe 3 und einzelner Zuschreibungen finden Sie in „assignment3/output“ und „assignment3/README.md“.