在Anaconda中的py程序默认都是在同一个图中运行的,除非关掉Anaconda,否则两次运行同一个py代码时,这两次的代码是在同一个图中。在定义变量时,在同一个图中,同一句代码tf.Variable所生成的变量是不同的名字。
# 权重
weights = {
'h1': tf.Variable(tf.random_normal([n_input, n_hidden_1])),
……
print (weights['h1'].name)
打印信息:
Variable:0
Variable:14
运行两次weights[h1]有了两个不同的名字,在内存里会有两套变量。这样可能会产生异常。
解决办法,只需要在变量定义之前加上下面一行代码。让所有的图环境重置,即可解决问题。
tf.reset_default_graph()