『TensorFlow Internals』筆記_源碼結構

零、資料集合

另附:html

Ubuntu下編譯源碼指南python

1、代碼獲取

克隆源碼:git

git clone https://github.com/tensorflow/tensorflow.gitgithub

切換到r1.4穩定分支:編程

cd tensorflow架構

git check r1.4分佈式

2、源碼結構

tree -d -L 1 ./tensorflow函數

 

目錄 說明
/c C++ API,也是一些 Python API 與 C 層的接口部分
/cc  
/compiler 即時編譯的工具內容
/contrib 一些額外的庫,大部分由第三方添加,其中一些正式肯定的內容會移出去
/core TensorFlow 的核心運行時代碼
/core/distributed_runtime 分佈式運行時代碼
/core/framework 運行時中相對最底層的架構部分,涉及到不少基礎結構的定義、與 Protobuf 的結合部分等等
/core/graph 運行時中對計算圖的定義和處理
/core/kernels 計算圖中 Op 的核心計算部分(即 Op 的 Kernel 函數)
/core/lib 運行時中調用的其餘庫的接口?
/core/ops C 部分的 Op 分紅兩個部分,核心計算函數在前面的 /kernels 目錄中,這裏存的是 Op 面向上層 Python 運行時的註冊部份內容。
詳見 TensorFlow 拆包(三):Graph 和 Node
/core/platform 針對不一樣平臺的額外內容
/core/profiler 運行時的調優工具?
/core/protobuf Protobuf 的定義
/core/util 其餘的一些工具
/python TensorFlow Python 部分的運行時和 API

重點文件夾以下:工具

core

內核的源碼,C++實現。學習

python

接口API,python實現。

contrib

第三方庫,實驗性,當 contrib 標準化,並從 中,並正式對外發布。

stream_executor

提速組件,並行化、分佈式相關。

compiler

優化計算圖,主要優化OP的分解組合方式,找到儘量好的圖構建方式,可以分析運行時的計算圖,將多個 OP 融
合在一塊兒,並生成更高效的本地機器代碼,提高計算圖的執行效率。

3、邏輯構架圖

相關文章
相關標籤/搜索