Tensorflow學習總結

計算圖的構建

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

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

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

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

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

Tensorflow數據結構(張量)

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

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

0維數組:標量

1維數組:向量

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

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

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

張量的用途有兩種:

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

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

Tesorflow執行命令(運行對話)

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

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

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


參考文獻:

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


2.

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容