jupyter中的Tensorflow:变量已经存在

时间:2018-06-15 22:23:07

标签: python-3.x tensorflow

以下是使用Scikit Learn和Tensorflow"动手机器学习的部分神经网络代码。符合预期的示例:

with tf.name_scope("dnn"):
    hidden1 = fully_connected(X, n_hidden1, activation_fn=leaky_relu, scope="hidden1")
    hidden2 = fully_connected(hidden1, n_hidden2, activation_fn=leaky_relu, scope="hidden2")
    logits = fully_connected(hidden3, n_outputs, activation_fn=None, scope="outputs")
with tf.name_scope("loss"):
    xentropy = tf.nn.sparse_softmax_cross_entropy_with_logits(labels=y,
                                                          logits=logits)
    loss = tf.reduce_mean(xentropy, name="loss")

但是,如果我只是重新运行Jupyter单元格,则会出现以下错误。这意味着我无法进行更改,例如添加其他隐藏图层。

ValueError: Variable hidden1/weights already exists, disallowed. Did you mean to set reuse=True or reuse=tf.AUTO_REUSE in VarScope?

我尝试了tf.reset_default_graph(),但只重置整个Jupyter笔记本修复了这个问题。这个错误的最佳解决方案是什么,以便我可以对神经网络进行更改?

1 个答案:

答案 0 :(得分:1)

您是否尝试过为每一层设置reuse = True? reuse:Boolean,是否使用相同名称重用前一层的权重。 https://www.tensorflow.org/api_docs/python/tf/layers/dense

对我来说似乎是一个有效的选择。