TF學習筆記1

2021-09-16 20:26:11 字數 1116 閱讀 7380

一、關於tensorflow的基本概念

tensorflow的計算模型、資料模型、執行模型,主要是一些理論概念的整理。

1、tensorflow的計算模型——計算圖

tensor—張量,即可簡單理解為多維陣列,表明其資料結構。

flow—流,直觀的表達了張量之間通過計算相互轉化的過程,體現其計算模型。

tensorflow—乙個通過計算圖的形式來表述計算的程式設計系統,tensorflow中的每乙個計算都會被轉化為計算圖上的乙個節點,而節點之間的邊表述了計算之間的依賴關係。

2、tensorflow的資料模型——張量

即tensorflow管理資料的形式。

在tensorflow程式中,所有的資料都通過張量的形式來表示,可簡單理解為多維陣列。但張量在tf中的實現並不是直接採用陣列的形式,它只是對tf中運算結果的引用。在張量中並沒有真正儲存數字,它儲存的是如何得到這些數字的計算過程。

張量的使用有以下兩類:

1)對中間計算結果的引用,主要是提高可閱讀性,同時方便獲取中間結果。比如在cnn中,卷積層或者池化層有可能改變張量的維度,通過result.get_shape函式來獲取結果張量的維度資訊可以免去人工計算的麻煩。

2)獲得計算結果,即得到真實的數字。張量本身並沒有儲存具體的數字,但通過會話session就可以得到這些具體的數字。

3、tensorflow的執行模型——會話

使用會話來執行定義好的運算。會話擁有並管理tf程式執行時的所有資源。

tf使用會話一般有兩種模式:

1)明確呼叫會話生成函式和關閉會話函式

sess=tf.session()//建立乙個會話

sess.run()//使用會話得到運算結果

sess.close()//關閉會話,釋放資源

由於該情況可能會出現異常退出導致無法執行關閉會話的函式,從而使資源洩露的問題。

解決方法:tf通過python的上下文管理器來使用會話。

with tf.session() as sess:

sess.run(...)

2)通過設定缺省會話計算張量的取值

sess=tf.session()

with sess.as_default():

print(result.eval())

3 30學習筆記 tf2 0

keras 初始化 不同的層可能使用不同的關鍵字來傳遞初始化方法,一般來說指定初始化方法的關鍵字是kernel initializer 和 bias initializer from keras import initializers model.add dense 64,kernel initia...

tf學習小記

keras.preprocessing.sequence.pad sequences sequences,maxlen none,dtype int32 padding pre truncating pre value 0.其中,sequences 浮點數或整數構成的兩層巢狀列表 maxlen no...

ROS學習筆記 tf的學習與使用(一)

ros機械人的開發過程中,經常需要用到tf座標變換。簡單來講,tf定義了兩個不同座標系之間的旋轉變換關係。1.乙個簡單的demo roslaunch turtle tf turtle tf demo.launch這時候螢幕中會出現兩個turtle,可以通過控制前面的turtle來引導後面的turtl...