2016-03-25 13 views
0

Öğrenme amaçları için, Tensorflow'da kendi LSTM modelimi oluşturmak istiyorum. Sorun şu ki, belirli bir zaman dilimindeki devletler, önceki zaman dilimindeki durumları kullanarak başlangıç ​​durumuna getirilecek şekilde eğitilmelidir. Tensorflow'da bunun için bir mekanizma var mı?Bir değişkenin son durumunu Tensorflow'taki sonraki durum olarak nasıl kullanılır?

class Lstm: 

    def __init__(self, x, steps): 
     self.initial = tf.placeholder(tf.float32, [None, size]) 
     self.state = self.initial 
     for _ in range(steps): 
      x = self.layer_lstm(x, 100) 
     x = self.layer_softmax(x, 10) 
     self.prediction = x 

    def step_lstm(self, x, size): 
     stream = self.layer(x, size) 
     input_ = self.layer(x, size) 
     forget = self.layer(x, size, bias=1) 
     output = self.layer(x, size) 
     self.state = stream * input_ + self.state * forget 
     x = self.state * output 
     return x 

    def layer_softmax(self, x, size): 
     x = self.layer(x, size) 
     x = tf.nn.softmax(x) 
     return x 

    def layer(self, x, size, bias=0.1): 
     in_size = int(x.get_shape()[1]) 
     weight = tf.Variable(tf.truncated_normal([in_size, size], stddev=0.1)) 
     bias = tf.Variable(tf.constant(bias, shape=[size])) 
     x = tf.matmul(x, weight) + bias 
     return x 

cevap

0

@danijar - Bir alt grafiği çağrıları arasında durumu korumak için nasıl basit bir örnek olarak this page arasında 'Değişkenleri' bölümüne bakmak isteyebilirsiniz.

İlgili konular