您好,登錄后才能下訂單哦!
這篇文章主要講TensorFlow中的Session的用法以及Variable。
Session會話控制
Session是TensorFlow為了控制和輸出文件的執行語句,運行session.run()就能獲得運算結果或者部分運算結果。我們在這里使用一個簡單的矩陣相乘的例子來解釋Session的兩個用法。
首先我們要加載TensorFlow并建立兩個矩陣以及兩個矩陣所做的運算。這里我們建立一個一行兩列的matrix1和一個兩行一列的matrix2,讓它們做矩陣的乘法。tf.matmul相當于numpy中的dot方法,都是做矩陣的product。
import tensorflow as tf matrix1 = tf.constant([[2, 2]]) matrix2 = tf.constant([[2], [2]]) product = tf.matmul(matrix1, matrix2)
接下來我們使用第一種會話控制Session來激活product并得到計算結果:
sess = tf.Session() result = sess.run(product) print(result) sess.close()
運行結果為:[[8]]
還有另外一種Session的打開模式同樣可以激活product:
with tf.Session() as sess: result2 = sess.run(product) print(result2)
運行結果同樣是[[8]]。在這里我們不需要我們單獨做sess.close()的操作。
variable變量
與python的變量不同,在TensorFlow中如果我們要定義一個變量,必須使用tf.Variable()來定義它才是個變量,括號中可以包含的參數有變量的值,變量的名稱等。這里我們用一個簡單的加法運算來解釋變量的用法。
首先導入tensorflow并定義變量state, 常量one,以及運算方法tf.add, tf.assign
import tensorflow as tf state = tf.Variable(0, name='counter') # 輸出變量名 print(state.name) one = tf.constant(1) new_value = tf.add(state, one) # 將new_value加載到state里面,這時state的值就是new_value update = tf.assign(state, new_value)
我們可以將變量打印出來得到變量的信息:
init = tf.global_variables_initializer()
接下來我們就要用Session來將變量激活進行運算,并打印出state的結果:
with tf.Session() as sess: sess.run(init) for _ in range(3): sess.run(update) print(sess.run(state))
這里我們讓update運行3次,也就是做3次加法,運行結果為:
以上這篇TensorFlow Session會話控制&Variable變量詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。