第五步 tensorflow模型的運行機制

第五步 tensorflow模型的運行機制

來自專欄 深度學習tensorflow實踐

這裡不介紹深度學習的原理,大家請自行觀看吳恩達老師的deeplearning.ai,或斯坦福的CS231。

如果大家想學習Linux系統和python的基礎,推薦莫煩python。想學習數據結構基礎,推薦黑馬人工智慧。

在上一章中,我們簡單介紹了計算圖原理。

這一章,我會主要介紹tensorflow的計算圖的運行機制。

在建立好計算圖模型後,整個模型會保存在內存中。tensorflow中計算圖模型和輸入、輸出數據都是分離的,這有利於單獨保存和優化模型。具體的工作運行機制如下圖所示。圖片來源於李金洪的《深度學習之TensorFlow》。

(1)輸入:tensorflow中,運行(session)與計算圖的交互是使用注入機制(feed)。先在計算圖的構建中使用佔位符函數,即先定義數據的類型,但不把數據輸入計算圖中。然後在構建完整個計算圖後,運行(session)整個模型時才把數據注入(feed)入計算圖。佔位符函數如下所示:

tf.placeholder(數據類型)

(2)調用運算資源:因為CPU是自動調用的,這裡主要說一下GPU的調用。想要調用GPU,需要安裝tensorflow-gpu版本,同時配置好cuda和cuDNN,具體教程請點擊這裡查看。調用函數(GPU名稱為gpu:0)如下所示:

with tf.device(/gpu:0):

根據以上函數,也能調用多塊GPU。

(3)運行(session)函數和輸出:用一個簡單的hello world程序介紹一下session函數

import tensorflow as tfhelloworld = tf.constant(hello world) #定義一個字元串常量sess = tf.Session() #建立一個sessionprint (sess.run(helloworld)) #通過tf.Session中的run函數來運行sess.close() #關閉session

在下一章中,會主要介紹tensorflow在構建計算圖時使用的函數。

推薦閱讀:

TAG:TensorFlow | 機器學習 | 深度學習DeepLearning |