以下是使用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笔记本修复了这个问题。这个错误的最佳解决方案是什么,以便我可以对神经网络进行更改?
答案 0 :(得分:1)
您是否尝试过为每一层设置reuse = True? reuse:Boolean,是否使用相同名称重用前一层的权重。 https://www.tensorflow.org/api_docs/python/tf/layers/dense
对我来说似乎是一个有效的选择。