本篇是 TensorFlow 的 tf.InteractiveSession
互動式 Session 使用教學。
在 TensorFlow 中,所有的運算都要放在 session 中執行,而如果在 shell 或 IPython notebooks 中執行 TensorFlow 的程式時,我們可以改用比較方便使用的 tf.InteractiveSession
。
正常來說,TensorFlow 的程式放在
tf.Session
中跑的時候,我們會這樣寫:
import tensorflow as tf a = tf.constant(5.0) b = tf.constant(6.0) c = a * b sess = tf.Session() # 使用 sess 這個 session 執行 print(sess.run(c)) sess.close()
而 tf.InteractiveSession
與 tf.Session
的作用相同,只不過 tf.InteractiveSession
在建立時,會自動將自己設定為預設的 session,這樣可以讓我們少打一些字。
import tensorflow as tf a = tf.constant(5.0) b = tf.constant(6.0) c = a * b # 自動設定為預設的 session sess = tf.InteractiveSession() # 直接使用 tf.Tensor.eval 執行,不需要指定 sess 變數 print(c.eval()) sess.close()
這裡的 c
在呼叫 tf.Tensor.eval
執行時,會自動使用預設的 session(也就是 sess
)來執行。
而一般的 tf.Session
只有在 with
環境之下才會將自己設定為預設的 session:
import tensorflow as tf a = tf.constant(5.0) b = tf.constant(6.0) c = a * b with tf.Session(): # 亦可使用 tf.Tensor.eval 執行 print(c.eval())