2016-04-09 28 views
2

Her sözcük için bir vektör içeren bir gömme matrisine sahibim. Gömme vektörleri verilen her kelimenin iki yönlü LSTM kodlamasını almak için TensorFlow kullanmaya çalışıyorum. Kullanılan kod BuradaTensorFransızca yazıların çift yönlü LSTM kodlaması

ValueError: Shapes (1, 125) and() must have the same rank Exception TypeError: TypeError("'NoneType' object is not callable",) in ignored

edilir: uzunluk parti büyüklüğü için bir vektör olmalıdır RNn geçirilen

 # Declare max number of words in a sentence 
    self.max_len = 100 
    # Declare number of dimensions for word embedding vectors 
    self.wdims = 100 

    # Indices of words in the sentence 
    self.wrd_holder = tf.placeholder(tf.int32, [self.max_len]) 
    # Embedding Matrix 
    wrd_lookup = tf.Variable(tf.truncated_normal([len(vocab)+3, self.wdims], stddev=1.0/np.sqrt(self.wdims))) 

    # Declare forward and backward cells 
    forward = rnn_cell.LSTMCell(125, (self.wdims)) 
    backward = rnn_cell.LSTMCell(125, (self.wdims)) 

    # Perform lookup 
    wrd_embd = tf.nn.embedding_lookup(wrd_lookup, self.wrd_holder) 
    embd = tf.split(0, self.max_len, wrd_embd) 

    # run bidirectional LSTM 
    boutput = rnn.bidirectional_rnn(forward, backward, embd, dtype=tf.float32, sequence_length=self.max_len) 

cevap

2

dizi uzunluğuna Ne yazık ki, şu hata mesajı.

+1

Bu, sorunun cevabını vermez. Yeterli [itibara] sahip olduğunuz zaman (http://stackoverflow.com/help/whats-reputation) herhangi bir gönderiye yorum yapabilirsiniz (http://stackoverflow.com/help/privileges/comment); bunun yerine, [askerden açıklama istemeyen cevaplar verin] (http://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-can- i-do-yerine). - [Yorum Yaz] (/ review/düşük kaliteli yazılar/11959085) –

+2

Netleştirmek için, max_len'i sequence_length olarak kullanırsınız. Bu bir skaler. Ya geçmeyin ya da beklenen vektör olan [max_len] * batch_size değerini geçin. –

İlgili konular