TensorFlow基礎入門概念
阿新 • • 發佈:2018-12-09
一.基本概念
TensorFlow是一個開源資料庫,用於使用資料流圖進行數值計算。圖中的節點表示數學運算,而圖邊表示在它們之間傳遞的多維資料陣列(張量,tensor)。
- 圖(graph)來表示計算任務
- 在被稱之為會話(Session)的上下文(context)中執行圖
- tensor表示資料
- 使用feed和fetch可以為任意的操作賦值或從其中獲取資料
圖中的一個節點稱之為op(operation),一個op可以獲得0個或多個tensor,執行計算產生0個或多個tensor(一個n維的陣列或列表),graph必須在Session中被啟動。
二.主要資料結構—-張量
- 在tensorflow中,一個張量就是一個張量類的例項,是綁定了相關運算的一個特定型別的多維陣列。
- 所有的張量都有一個靜態的型別和動態的維數
1.張量的階rank
階為1的張量等價為向量,2為矩陣…
2.張量的形狀shape
3.張量的資料型別type
4.建立新的張量
既可以從numpy中繼承,也可以建立
tf.convert_to_tensor:該方法將python物件轉化為tensor物件,他的輸入可是tensor物件,numpy陣列,Python列表和python標量
三.TensorFlow的資料流圖
- 符號化的表示了模型的計算是如何工作的。
- 計算圖(computing graph)通常並不需要直接構建Graph物件,而是由使用者在建立張量(tensor)和操作(op)時自動建立的。
- 張量建構函式(如tf.constant())將向預設的計算圖新增必要的元素
c=tf.matmul(a,b)建立一個matmul型別的操作
tf.Operation.type 返回操作的型別
tf.Operation.inputs 輸入張量物件列表
tf.Graph.get_operations() 計算圖中的操作列表
tf.Graph.version 返回計算圖的版本資訊
四、資料供給機制Feed
- 將feed的資料作為引數傳入run函式
最常見:tf.placeholder()建立特點的feed操作的方法
五、變數
- 特殊的操作,返回一個持久的、可變的張量控制代碼,存活於多次計算圖執行之中。
- 模型的引數通常儲存於常量中,在訓練階段被更新。
tf.Variable() - 所有的變數需要初始化
tf.global_variables_initializer()
六、儲存資料流圖
協議快取(protocol buffers)
tf.Graph.as_graph_def(from_version=None,add_shapes=False):返回一個序列化的計算圖表示GraphDef。
七、執行我們的程式——會話
Session物件是執行環境的表示。
s = tf.Session().run()