我想在机器智能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
任何人都可以帮我解决这个问题吗?
答案 0 :(得分:1)
将图形添加到图表中的代码(包括您发布的函数中的几乎所有内容)通常只能运行一次。当您想要训练模型或进行预测时,您可以使用sess.run
和feed_dict
以及您想要输出的操作。
如果您确实想要在不重新启动控制台的情况下删除图表,则可以使用tf.reset_default_graph()
。