TensorFlow Session會(huì)話控制&Variable變量詳解
這篇文章主要講TensorFlow中的Session的用法以及Variable。
Session會(huì)話控制
Session是TensorFlow為了控制和輸出文件的執(zhí)行語句,運(yùn)行session.run()就能獲得運(yùn)算結(jié)果或者部分運(yùn)算結(jié)果。我們?cè)谶@里使用一個(gè)簡(jiǎn)單的矩陣相乘的例子來解釋Session的兩個(gè)用法。
首先我們要加載TensorFlow并建立兩個(gè)矩陣以及兩個(gè)矩陣所做的運(yùn)算。這里我們建立一個(gè)一行兩列的matrix1和一個(gè)兩行一列的matrix2,讓它們做矩陣的乘法。tf.matmul相當(dāng)于numpy中的dot方法,都是做矩陣的product。
import tensorflow as tf matrix1 = tf.constant([[2, 2]]) matrix2 = tf.constant([[2], [2]]) product = tf.matmul(matrix1, matrix2)
接下來我們使用第一種會(huì)話控制Session來激活product并得到計(jì)算結(jié)果:
sess = tf.Session() result = sess.run(product) print(result) sess.close()
運(yùn)行結(jié)果為:[[8]]
還有另外一種Session的打開模式同樣可以激活product:
with tf.Session() as sess: result2 = sess.run(product) print(result2)
運(yùn)行結(jié)果同樣是[[8]]。在這里我們不需要我們單獨(dú)做sess.close()的操作。
variable變量
與python的變量不同,在TensorFlow中如果我們要定義一個(gè)變量,必須使用tf.Variable()來定義它才是個(gè)變量,括號(hào)中可以包含的參數(shù)有變量的值,變量的名稱等。這里我們用一個(gè)簡(jiǎn)單的加法運(yùn)算來解釋變量的用法。
首先導(dǎo)入tensorflow并定義變量state, 常量one,以及運(yùn)算方法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里面,這時(shí)state的值就是new_value update = tf.assign(state, new_value)
我們可以將變量打印出來得到變量的信息:
init = tf.global_variables_initializer()
接下來我們就要用Session來將變量激活進(jìn)行運(yùn)算,并打印出state的結(jié)果:
with tf.Session() as sess: sess.run(init) for _ in range(3): sess.run(update) print(sess.run(state))
這里我們讓update運(yùn)行3次,也就是做3次加法,運(yùn)行結(jié)果為:
以上這篇TensorFlow Session會(huì)話控制&Variable變量詳解就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
python django下載大的csv文件實(shí)現(xiàn)方法分析
這篇文章主要介紹了python django下載大的csv文件實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了Django框架下載csv大文件的相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下2019-07-07為Python的web框架編寫MVC配置來使其運(yùn)行的教程
這篇文章主要介紹了為Python的web框架編寫MVC配置來使其運(yùn)行的教程,示例代碼基于Python2.x版本,需要的朋友可以參考下2015-04-04Django多對(duì)多ManyToManyField字段的使用
Django是一個(gè)支持多對(duì)多關(guān)系的Web框架,可以在模型中定義多對(duì)多關(guān)系,本文主要介紹了Django多對(duì)多ManyToManyField字段的使用,感興趣的可以了解一下2023-12-12