我试图弄清楚为什么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
因为我认为它应该返回上一个会话.任何人都可以弄清楚我的代码有什么问题吗?
只是创建一个tf.Session()
不会使它成为默认值.这基本上是tf.Session
和之间的区别tf.InteractiveSession
:
sess = tf.InteractiveSession()
print(tf.get_default_session()) # this is not None!
与之不同的是tf.InteractiveSession
,a tf.Session
仅在内部with
块中成为默认值(它是上下文管理器):
sess = tf.Session()
with sess:
print(tf.get_default_session()) # this is not None!