[PYTHON] Lesen Sie den Code, was Sie mit Theanos LSTM-Tutorial tun

http://deeplearning.net/tutorial/lstm.html

Ein Hinweis, wenn ich kurz lese, was dieses Beispiel im Inneren tut. Um ehrlich zu sein, kann dieser Implementierungsteil von LSTM überhaupt nicht gelesen werden.

Die Lesebedingung ist so, dass sie manipuliert werden kann, so dass sie bis zu einem gewissen Grad frei überprüft werden kann.

Klassifizierung von Trainingsdaten

Insgesamt müssen drei Arten von Trainingsdaten eingegeben werden.

Code lesen

imdb.py

Wir bereiten Daten vor. Es ist am einfachsten, diesen Teil zu erweitern, wenn Sie mit Originaldaten arbeiten.

prepare_data()

load_data()

imdb_preprocess.py Skript zur Datenaufbereitung

lstm.py Ausführungsskript lernen

$ python lstm.py

Kann mit bewegt werden

Hauptfunktion

train_lstm() Echter Endpunkt. Hier ist das Argument der Funktion ein Parameter, der auf verschiedene Arten geändert werden kann. Es gibt ziemlich viele. Listen Sie die Dinge auf, die vorerst wahrscheinlich manipuliert werden.

Andere Funktionen, die Sie ein wenig kennen sollten

build_model() Der Teil, der das LSTM-Modell erstellt. Es wird auch verwendet, um das Modell zu reproduzieren, das mit "train_lstm" trainiert wurde.

init_tparams() Parameter für theano konvertieren. Der Parameter, der an build_model übergeben werden soll, muss über diese Funktion übergeben werden.

init_params() Globale Einstellungen für Nicht-LSTM

pred_error(), pred_probs() Funktionen, die das Modell ausführen. pred_error wird zur Fehlerberechnung verwendet. pred_probs gibt das Ergebnis aus. Wird beim Lernen nicht verwendet. Die beiden unterscheiden sich darin, ob sie "f_pred" oder "f_pred_prob" verwenden.

f_pred_prob gibt das Ergebnis jeder Wahrscheinlichkeit an und f_pred gibt die maximale Anzahl von Elementen zurück (= zu welcher Klasse sie gehörte).

sgd(), adadelta(), rmsprop() Optimierungsfunktion. Der Typ mit Optimierer zu wählen

param_init_lstm(), lstm_layer() Dieser Montageteil von LSTM. Der Rücken ist von diesem Punkt aus immer noch ein Rätsel. Wenn Sie jedoch den in lstm_layer erstellten Code mit der Formel vergleichen, können Sie sehen, dass fast dasselbe getan wird.

dropout_layer() Der Implementierungsteil von Dropout.

Was ist in dem vorgefertigten Modell

model = numpy.load("lstm_model.npz")

Da es im numpy-Datenformat gespeichert ist, kann es von numpy.load gelesen werden.

Recommended Posts

Lesen Sie den Code, was Sie mit Theanos LSTM-Tutorial tun
Machen Sie das Add-On-Tutorial von Blender mit Hy