我试图找出为什么tf.get_default_session()
始终返回None
类型:
import tensorflow as tf
tf.reset_default_graph()
init=tf.global_variables_initializer()
sess = tf.Session()
sess.run(init)
default = tf.get_default_session()
default == None # True
我不知道为什么default = tf.get_default_session()
是None
,因为我认为它应该返回上一个会话。
任何人都可以弄清楚我的代码有什么问题吗?
答案 0 :(得分:8)
仅创建tf.Session()
并不会将其设为默认值。这基本上是tf.Session
和tf.InteractiveSession
:
sess = tf.InteractiveSession()
print(tf.get_default_session()) # this is not None!
与tf.InteractiveSession
不同,tf.Session
仅在with
块内成为默认值(它是上下文管理器):
sess = tf.Session()
with sess:
print(tf.get_default_session()) # this is not None!