变量rnn / gru_cell / gates / weights已经存在,不允许

时间:2017-12-06 07:03:21

标签: tensorflow

我想在机器智能Tesorflow中实现代码,代码第一次运行良好,但再次运行时,错误 "变量rnn / gru_cell / gates / weights已经存在,不允许"发生。当我重新启动控制台时,错误消失,并在第一次运行或调试后发生。代码如下:

def prediction(self):

    output, _ = tf.nn.dynamic_rnn(tf.contrib.rnn.GRUCell(300), 
                                  self.data, 
                                  dtype = tf.float32,
                                  sequence_length = self.length)
    last = self._last_relevant(output, self.length)
    #softmax层
    num_classes  =int(self.target.get_shape()[1])
    weight = tf.Variable(tf.truncated_normal([self.params.rnn_hidden, num_classes], stddev = 0.01))
    bias = tf.Variable(tf.constant(0.1, shape = [num_classes]))
    prediction = tf.nn.softmax(tf.matmul(last, weight) + bias)
    return prediction

任何人都可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

将图形添加到图表中的代码(包括您发布的函数中的几乎所有内容)通常只能运行一次。当您想要训练模型或进行预测时,您可以使用sess.runfeed_dict以及您想要输出的操作。

如果您确实想要在不重新启动控制台的情况下删除图表,则可以使用tf.reset_default_graph()