Was ist das Äquivalent zu rnn () in TensorFLow r 1.0?

8

Ich habe das RNN-Netzwerk in v0.8 mit folgendem Befehl erstellt:

%Vor%

rnn.rnn() ist nicht mehr verfügbar und es klingt so, als wäre es in tf.contrib verschoben worden. Wie lautet der genaue Code zum Erstellen eines RNN-Netzwerks aus einem BasicLSTMCell ?

Oder, falls ich einen gestapelten LSTM habe,

%Vor%

Also, was ist der Ersatz für tf.nn.rnn () in TensorFlow r1.0?

    
Saeed 27.02.2017, 22:48
quelle

2 Antworten

9

Aktualisierte Antwort

Nov 2017, per lums Kommentar unten: Beachten Sie, dass seit Version 1.2, static_rnn ist zurück im Namespace "main" und sollte nun verwendet werden tf.nn.static_rnn .

Ursprüngliche Antwort

Ich habe auch ähnlichen (Sprachmodellierungs) Code mit LSTMs, die ich mit tf.nn.dynamic_rnn auf TF 1.0 zu aktualisieren versuchte, aber ich stieß auf Probleme, insbesondere:

  

tensorflow.python.framework.errors_impl.InvalidArgumentError:   Dimension muss 2 sein, ist aber 3 für "Model / LSTM / transpose" (op:   'Transpose') mit Eingabeformen: [20,1100], [3].

Was für mich funktionierte, war tf.nn.rnn durch tf.contrib.rnn.static_rnn zu ersetzen, beachten Sie die Unterschriften sind identisch.

mein Arbeitscode diffs:

%Vor%     
ruoho ruotsi 01.03.2017 18:51
quelle
1

Sie sollten tf.nn.dynamic_rnn .

Zu Ihrer Information: Welche Vorteile bietet die Verwendung von tf.nn.rnn anstelle von tf.nn.dynamic_rnn in TensorFlow?

    
Franck Dernoncourt 27.02.2017 23:50
quelle

Tags und Links