Tensorflow學習總結

計算圖的構建

Tensorflow首先定義計算(計算圖),也就是變量相乘,相加,相加,相減(矩陣,向量,標量)

定義好計算后,Tensorflow會自動把計算規(guī)則變成計算圖.

不同計算圖的變量和運算不會共享

同一個Tensroflow程序中,計算圖可以有很多,不同計算圖中的變量和計算是獨立的,所以可以分開為多個硬件進行計算

計算圖中的節(jié)點就是分支,只要有輸入和輸出就是節(jié)點.

Tensorflow數(shù)據(jù)結構(張量)

張量是Tensorflow管理數(shù)據(jù)的形式.Tensorflow的所有數(shù)據(jù)都是通過張量的形式來表示的.

從功能角度來看:張量可以被簡單理解為n維數(shù)組

0維數(shù)組:標量

1維數(shù)組:向量

n維數(shù)組:矩陣(一個數(shù)組里面有n個數(shù)組元素)

張量在Tensorflow中與Java中的基本數(shù)據(jù)類型不一樣,不能直接打印出來,也就是不能通過print()得到結果,而是一個引用,類似與Java自定義的對象,打印出來得到對象的引用,必須去獲取張量對象的參數(shù)和方法.

一個張量主要有三個屬性:名字(name),維度(shape),類型(type)

張量的用途有兩種:

1.構造計算圖時,可以預設保存中間結果的引用

2.計算圖構造完成后,可以獲取任意節(jié)點的數(shù)據(jù)(通過session)來完成

Tesorflow執(zhí)行命令(運行對話)

session任務擁有并管理Tensorflow程序運行時的所有資源,當所有計算節(jié)點都完成后,關閉任務幫助系統(tǒng)回收資源,否則就可能出現(xiàn)資源泄漏的問題.

如果出現(xiàn)異常無法執(zhí)行下去,利用withtf.Session() as sess:上下文機制命令,可以防止異常退出然后沒有關閉上下文,沒有釋放資源,導致資源泄漏.

與java和python一樣,運行了如果不去提取變量(張量)本身代表的數(shù)據(jù),是不會顯示出來的,必須通過tf.Tensor.eval函數(shù)來提取張量的取值.


參考文獻:

1.鄭澤宇,顧思宇.2017.Tensorflow實戰(zhàn)google深度學習框架,電子工業(yè)出版社:283頁.


2.

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容