TensorFlow的系統架構,自底向上分為設備層和網絡層、數據操作層和圖計算層、API層、應用層,其中設備層和網絡層、數據操作層、圖計算層是TensorFlow的核心層。
下面我們就自底向上地詳細地介紹以下TensorFlow的系統架構。因為只有這樣我們才能明白它的工作原理,更好地應用到我們的實際場景中去。最下層是網絡通信層和設備管理層。網絡通信層包括gRPC(google Remote Procedure Call Protocol)和遠程直接數據存取,這都是在分布式計算時需要用到的。設備管理層包括TensorFlow分別在CPU、GPU、FPGA等設備上的實現,也就是對上層提供了一個統一的接口,使上層只需要處理卷積等邏輯,而不需要關心在硬件上的卷積的實現過程。
其上是數據操作層,主要包括卷積函數、激活函數等操作。再往上是圖計算層,這一層是我們需要了解的核心內容,包括本地計算圖和分布式計算圖的實現。再往上是API層和應用層。
TensorFlow的設計理念主要體現在以下兩個方面。
將圖的定義和圖的運行完全分開。因此,TensorFlow被認為是一個“符號主義”的庫。我們知道,編程模式通常分為命令式編程和符號式編程。命令式編程就是編寫我們理解的通常意義上的程序,很容易理解和調試,按照原有邏輯執行。符號式編程涉及很多的嵌入和優化,不容易理解和調試,但運行速度有所提升,F有的深度學習框架中,Torch是典型的命令式的,Caffe、MXNet采用了兩種編程模式混合的方法,而TensorFlow完全采用符號式編程。符號式計算一般是先定義各種變量,然后建立一個數據流圖,在數據流圖中規定各個變量之間的計算關系,最后只需要對數據流圖進行編譯,但此時的數據流圖還是一個空殼,里面沒有任何實際數據,只有把需要運算的輸入放進去后,才能在整個模型中形成數據流,從而形成輸出值。
聯系:highspeedlogic
QQ :1224848052
微信:HuangL1121
郵箱:1224848052@qq.com
微信掃一掃: