【TensorFlow】tf.reset_default_graph()函數


轉載  https://blog.csdn.net/duanlianvip/article/details/98626111

tf.reset_default_graph函數用於清除默認圖形堆棧並重置全局默認圖形。

1、無tf.reset_default_graph

import tensorflow as tf

# 執行完 with 里邊的語句之后,這個 conv1/ 和 conv2/ 空間還是在內存中的。這時候如果再次執行此代碼,就會再生成其他命名空間
with tf.name_scope('conv1') as scope:
    weights1 = tf.Variable([1.0, 2.0], name='weights')
    bias1 = tf.Variable([0.3], name='bias')
 
# 下面是在另外一個命名空間來定義變量的
with tf.name_scope('conv2') as scope:
    weights2 = tf.Variable([4.0, 2.0], name='weights')
    bias2 = tf.Variable([0.33], name='bias')
 
# 所以,實際上weights1 和 weights2 這兩個引用名指向了不同的空間,不會沖突
print(weights1.name)
print(weights2.name)
print(bias1.name)
print(bias2.name)

 

 在再次執行的過程中,都會在上一次執行的基礎生成新的張量。

2、有 tf.reset_default_graph()

import tensorflow as tf
tf.reset_default_graph()
# 執行完 with 里邊的語句之后,這個 conv1/ 和 conv2/ 空間還是在內存中的。這時候如果再次執行此代碼,就會再生成其他命名空間
with tf.name_scope('conv1') as scope:
    weights1 = tf.Variable([1.0, 2.0], name='weights')
    bias1 = tf.Variable([0.3], name='bias')
 
# 下面是在另外一個命名空間來定義變量的
with tf.name_scope('conv2') as scope:
    weights2 = tf.Variable([4.0, 2.0], name='weights')
    bias2 = tf.Variable([0.33], name='bias')
 
# 所以,實際上weights1 和 weights2 這兩個引用名指向了不同的空間,不會沖突
print(weights1.name)
print(weights2.name)
print(bias1.name)
print(bias2.name)

 

 無論執行多少次生成的張量始終不變。換句話說就是:tf.reset_default_graph函數用於清除默認圖形堆棧並重置全局默認圖形。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM