问题描述:我们有时候会在工程中使用session作为返回值或者在其他函数中使用之前定义的session,但是会遇见即使返回了session但是这个session已经自动关闭了,无法使用。
解决方法:将该session设置为默认的session即可不被tensorflow自动关闭
# right solution
def initSessiong():
sess = tf.Session()
sess = sess.as_default() # set default session
return sess
这样就可以将该sess一直保持不被自动关闭,如果要关闭需手动关闭
sess.close()
错误方法如下:
# wrong solution 1
def initSessiong():
sess = tf.Session()
return sess
当return的时候sess自动关闭
# wrong solution 2
def initSessiong():
with tf.Session() as sess:
return sess
当return的时候sess自动关闭