Tensorflow依赖于一个高效的C++后端来进行计算。与后端的这个连接叫做session。一般而言,使用TensorFlow程序的流程是先创建一个图,然后在session中启动它。
区别一:
tf.InteractiveSession():是一种交替式的会话方式,它让自己成为了默认的会话,也就是说用户在单一会话的情境下,不需要指明用哪个会话也不需要更改会话运行的情况下,就可以运行起来,结果就是运行run和eval()函数可以不指明session。
tf.Session():运行run和eval()函数需要指明session。
对比一下两组代码就明白了(为了使对比更加突出,这里先忽略初始化init的运行)。
代码一:使用tf.Session()——会编译报错
import tensorflow as tf
import numpy as np
a=tf.constant([[1., 2., 3.],[4., 5., 6.]])
b=np.float32(np.random.randn(3,2))
c=tf.matmul(testa,testb)
init=tf.global_variables_initializer()
sess=tf.Session()
print (c.eval())
代码二:使用tf.InteractiveSession()——不会报错
import tensorflow as tf
import numpy as np
a=