Ternsorflow启动图的三个方法对比

2019-04-15 17:51发布

Tensorflow启动图需要首先建立一个会话,本文对比三种启动图的方法,如下:

  1. sess = tf.Session():启动图需要显示指明使用哪个图,即sess.run(),或者run(session=sess)
  2. with tf.Session() as sess:在with的代码块内,使用sess作为默认图启动
  3. sess = tf.InteractiveSession(): 交互式,最方便,可以随时使用
# 进入一个交互式 TensorFlow 会话. import tensorflow as tf x = tf.Variable([1.0, 2.0]) a = tf.constant([3.0, 3.0]) # 增加一个减法 sub op, 从 'x' 减去 'a'. 运行减法 op, 输出结果 sub = tf.assign_sub(x, a) sess = tf.Session() x.initializer.run(session=sess) print sess.run(sub) sess.close() [-2. -1.] # 使用with tf.session as sess方法会使sess作为默认图 with tf.Session() as sess: x.initializer.run() print sub.eval() [-2. -1.] # 使用交互式最方便,尤其是在Jupyter上 sess = tf.InteractiveSession() x.initializer.run() print sub.eval() sess.close() [-2. -1.]