本文讲解一下tensorFlow中InteractiveSession与Session的区别。
普通的session(使用tf.Session()创建的session)的用法一般是这样的:
a = tf.constant(5.0)
b = tf.constant(6.0)
c = a * b
with tf.Session():
print(c.eval())
这里使用with语句创建session,1)可以将session自动设置为默认session,即with块里面的run和eval方法默认在此session下执行,2)不需要手动调用sess.close()来关闭session。
但是,在交互式环境(如IPython)中,使用with语句不方便。而如果不使用with的话,则要使用sess.run,或者给eval方法指定session参数:
sess = tf.Session()
a = tf.constant(5.0)
b = tf.constant(6.0)
c = a * b
# 1:
print(c.eval(session=sess))
# 2:
print(sess.run(c))
sess.close()
总之不是很方便。
InteractiveSession,顾名思义,就是为交互式环境而设计的。它的用法一般是这样的:
sess = tf.InteractiveSession()
a = tf.constant(5.0)
b = tf.constant(6.0)
c = a * b
print(c.eval())
sess.close()
是不是方便了很多?它将session设置为了默认session。
要注意,这里session用完了要手动调用close关闭。
本文深入讲解了TensorFlow中InteractiveSession与普通Session的区别,探讨了它们在不同环境下的使用方法及便利性,尤其针对交互式环境如IPython进行了详细说明。
3068

被折叠的 条评论
为什么被折叠?



