2016-06-29 5 views
1

Ich bin mit TensorFlow sehr ungewohnt, aber ich versuche ein Projekt zum Laufen zu bringen.Hidden Layer Vektor extrahieren von RNN Tensoflow

Ich habe eine LSTM mit dem folgenden Code trainiert: https://github.com/sherjilozair/char-rnn-tensorflow

Das ist großartig, und mit sample.py ich große Ausgangsdaten erhalten. Ich bin jedoch nicht sehr an der Generierung von Ausgabedaten interessiert. Was ich tun möchte, ist den versteckten Layer-Vektor aus dem letzten Schritt des LSTM zu extrahieren.

Grundsätzlich möchte ich ein Array der versteckten Werte, die normalerweise an den nächsten Zeitschritt im LSTM (128-dimensionalen Vektor für dieses bestimmte Modell, das in train.py angegeben wird) unmittelbar danach übergeben werden das folgende Segment model.py ausgeführt:

def sample(self, sess, chars, vocab, num=200, prime='The ', sampling_type=1): 
     state = self.cell.zero_state(1, tf.float32).eval() 
     for char in prime[:-1]: 
      x = np.zeros((1, 1)) 
      x[0, 0] = vocab[char] 
      feed = {self.input_data: x, self.initial_state:state} 
      [state] = sess.run([self.final_state], feed) 

ich bin nicht sicher, wie dies in Tensorflow zu tun, würde jede mögliche Hilfe groß sein, danke.

Antwort

0
+0

ich durch die Seite zu lesen, aber ich habe Probleme „Wiederherstellen“, um die versteckten Zustandsvariablen des MultiCellRNN Objekt, weil ich nicht wirklich wissen, was sein Name ist. Komme ich das falsch? –

+0

Da dies kein Modell ist, das ich von Grund auf neu erstellt habe - es besteht aus BasicLSTMCell - ich bin mir nicht sicher, wie ich auf seine Variablen zugreifen soll –