tf.reset_default_graph函数用于清除默认图形堆栈并重置全局默认图形。
注意:默认图形是当前线程的一个属性。该tf.reset_default_graph函数只适用于当前线程。当一个tf.Session或者tf.InteractiveSession激活时调用这个函数会导致未定义的行为。调用此函数后使用任何以前创建的tf.Operation或tf.Tensor对象将导致未定义的行为。
with tf.variable_scope('Space_a'): a = tf.constant([1,2,3]) with tf.variable_scope('Space_b'): b = tf.constant([7,8,9]) with tf.variable_scope('Space_c'): c= a + b d = a+b with tf.Session() as sess: print(a) print(b) print(c) print(d) print(sess.run(c)) print(sess.run(d))
Tensor("Space_a/Const:0", shape=(3,), dtype=int32)
Tensor("Space_b/Const:0", shape=(3,), dtype=int32)
Tensor("Space_c/add:0", shape=(3,), dtype=int32)
Tensor("add:0", shape=(3,), dtype=int32)
[ 8 10 12]
[ 8 10 12]
如何清除每次运行时,tensorflow中不断增加的节点并重置整个defualt graph?
tf.reset_default_graph()#清空dedault graph以及nodes with tf.variable_scope('Space_a'): a = tf.constant([1,2,3]) with tf.variable_scope('Space_b'): b = tf.constant([7,8,9]) with tf.variable_scope('Space_c'): c= a + b d = a+b with tf.Session() as sess: print(a) print(b) print(c) print(d) print(sess.run(c)) print(sess.run(d))
Tensor("Space_a/Const:0", shape=(3,), dtype=int32)
Tensor("Space_b/Const:0", shape=(3,), dtype=int32)
Tensor("Space_c/add:0", shape=(3,), dtype=int32)
Tensor("add:0", shape=(3,), dtype=int32)
[ 8 10 12]
[ 8 10 12]