1. 程式人生 > >TensorFlow核心概念及基本使用

TensorFlow核心概念及基本使用

更新 分支 例如 bsp 可能 異常 變量存儲 ant tensor

TensorFlow核心概念

  綜述:TensorFlow中的計算可以表示為一個有向圖,或稱計算圖,其中每一個運算操作將作為一個節點,節點間的鏈接叫做邊。這個計算圖描述了數據的計算流程,它也負責維護和更新狀態,用戶可以對計算圖的分支進行條件控制和循環操作。計算圖中的每一個節點可以有任意多個輸入和輸出,每一個節點描述了一種運算操作,節點可以算是運算操作的實例化。在計算圖的邊中流動的的數據被稱為張量。

  1.計算圖

  TensorFlow是一個通過計算圖的形式來表述計算的編程系統。每一個計算都是計算圖的一個節點,而節點間的邊描述了計算之間的依賴關系。

  2.TensorFlow的數據模型-張量

  TensorFlow用張量這種數據結構來表示所有的數據.你可以把一個張量想象成一個n維的數組或列表.一個張量有一個靜態類型和動態類型的維數.張量可以在圖中的節點之間流通.

  3.TensorFlow的運行模型-會話

  會話(Session)用來執行定義好的運算。會話擁有並管理TensorFlow程序運行時的所有資源。當所有計算完成後需關閉會話來幫助系統回收資源。使用會話的方式一般有兩種:

   (1)sess = tf.Session()

    sess .run(...)

    sess.close()

    //因異常退出可能會未執行關閉會話的語句

   (2)with tf.Session() as sess:

    sess.run(...)

    //執行完自動關閉會話

  4.變量

  變量是一類特殊的運算操作,它可以將一些需要保留的tensor儲存在內存或顯存中,比如神經網絡中的系數。當訓練模型時,用變量來存儲和更新參數。通常會將一個統計模型中的參數表示為一組變量. 例如, 你可以將一個神經網絡的權重作為某個變量存儲在一個 tensor 中. 在訓練過程中, 通過重復運行訓練圖, 更新這個 tensor.

    

TensorFlow的基本使用

  1.構建圖

    import tensorflow as tf

    # 創建一個常量 op, 產生一個 1x2 矩陣. 這個 op 被作為一個節點

    # 加到默認圖中.

    # 構造器的返回值代表該常量 op 的返回值.

    matrix1 = tf.constant([[3., 3.]])

    # 創建另外一個常量 op, 產生一個 2x1 矩陣.

    matrix2 = tf.constant([[2.],[2.]])

    # 創建一個矩陣乘法 matmul op , 把 ‘matrix1‘ 和 ‘matrix2‘ 作為輸入.

    # 返回值 ‘product‘ 代表矩陣乘法的結果.

product = tf.matmul(matrix1, matrix2)

  2.在一個會話中啟動圖

  這個使用在上一點會話中有提到的兩種方法。

TensorFlow核心概念及基本使用