TensorFlow 中三种启动图用法
轉(zhuǎn)自https://blog.csdn.net/lyc_yongcai/article/details/73467480
TensorFlow 中有三種啟動(dòng)圖的方法:tf.Session(),tf.InteractivesSession(),tf.train.Supervisor().managed_session()
它們各自的用法如下:
(1)tf.Session():構(gòu)造階段完成后, 才能啟動(dòng)圖。啟動(dòng)圖的第一步是創(chuàng)建一個(gè)?Session?對(duì)象, 如果無任何創(chuàng)建參數(shù), 會(huì)話構(gòu)造器將啟動(dòng)默認(rèn)圖。
(2)tf.InteractivesSession():為了便于使用諸如 IPython之類的 Python 交互環(huán)境, 可以使用InteractiveSession 代替 Session 類, 使用 Tensor.eval()和 Operation.run()方法代替Session.run(). 這樣可以避免使用一個(gè)變量來持有會(huì)話。
import tensorflow as tfmatrix1 = tf.constant([[3., 3.]]) matrix2 = tf.constant([[2.], [2.]])preduct = tf.matmul(matrix1, matrix2)sess_ = tf.InteractiveSession() tf.global_variables_initializer().run() print preduct.eval()sess_.close()(3)tf.train.Supervisor().managed_session() :
與上面兩種啟動(dòng)圖相比較來說,Supervisor() 幫助我們處理一些事情:
? (a) 自動(dòng)去 checkpoint 加載數(shù)據(jù)或者初始化數(shù)據(jù)
(b)自動(dòng)有一個(gè) Saver ,可以用來保存 checkpoint
eg: sv.saver.save(sess, save_path)
? (c) 有一個(gè) summary_computed 用來保存 Summary
因此我們可以省略了以下內(nèi)容:
(a)手動(dòng)初始化或者從 checkpoint??中加載數(shù)據(jù)
(b)不需要?jiǎng)?chuàng)建 Saver 類, 使用 sv 內(nèi)部的就可以
(c)不需要?jiǎng)?chuàng)建 Summary_Writer()
import tensorflow as tfa = tf.Variable(1) b = tf.Variable(2) c = tf.add(a, b)update = tf.assign(a, c)init = tf.global_variables_initializer()sv = tf.train.Supervisor(logdir="./tmp/", init_op=init) saver = sv.saver with sv.managed_session() as sess:for i in range(1000):update_ = sess.run(update)#print("11111", update)if i % 100 == 0:sv.saver.save(sess, "./tmp/", global_step=i)
?
總結(jié)
以上是生活随笔為你收集整理的TensorFlow 中三种启动图用法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: matlab保存colormap失败
- 下一篇: OpenCV学习笔记(十一):阈值化:t