tf.reset_default_graph()

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]

猜你喜欢

转载自www.cnblogs.com/tingtin/p/12572757.html