哪里可以在tensorflow 1.0.0中找到bidirectional_rnn?

时间:2017-02-16 16:35:07

标签: python tensorflow

我正在使用这里的一些代码:https://github.com/monikkinom/ner-lstm和tensorflow。我认为代码是为较旧版本的tensorflow编写的,我使用的是1.0.0版本。我使用tf_upgrade.py来升级github repos中的model.py,但我仍然收到错误:

    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,但它们似乎工作正常。这是bidirectional_rnn,我无法弄清楚如何改变。

2 个答案:

答案 0 :(得分:0)

也许您可以尝试重新实现双向RNN,只需将其中一个设置参数“go_backwards = True”的两个单向RNN包装成单个类。然后,您还可以控制与输出完成的合并类型。也许看看https://github.com/fchollet/keras/blob/master/keras/layers/wrappers.py中的实现(请参阅课程Bidirectional)可以帮助您入门。

答案 1 :(得分:0)

在TensorFlow 1.0中,您可以选择两种双向RNN功能: