2017-02-16 42 views
0

我在這裏使用一些代碼:https://github.com/monikkinom/ner-lstm tensorflow。我認爲這個代碼是爲tensorflow的老版本編寫的,我使用的是1.0.0版本。我用tf_upgrade.py在github上回購升級model.py,但我仍然得到錯誤:我在哪裏可以找到tensorflow 1.0.0中的bidirectional_rnn?

output, _, _ = contrib_rnn.bidirectional_rnn(fw_cell, bw_cell, 
AttributeError: 'module' object has no attribute 'bidirectional_rnn' 

這是我改變了bidirectional_rnn呼叫使用contrib_rnn這是後:

from tensorflow.contrib.rnn.python.ops import core_rnn as contrib_rnn 

舊電話是

output, _, _ = tf.nn.bidirectional_rnn(fw_cell, bw_cell, 
               tf.unpack(tf.transpose(self.input_data, perm=[1, 0, 2])), 
               dtype=tf.float32, sequence_length=self.length) 

這也不起作用。

我必須將LSTMCell,DroputWrapper等更改爲rnn.LSTMCell,但它們似乎工作正常。我無法弄清楚如何改變是雙向的。

回答

0

也許你可以嘗試重新實現一個雙向RNN,只需在其中一個參數上設置參數「go_backwards = True」,將兩個單向RNN包裝到一個類中即可。然後,您也可以控制對輸出進行的合併類型。也許看看https://github.com/fchollet/keras/blob/master/keras/layers/wrappers.py(見類Bidirectional)的實現可能會讓你開始。

相關問題