『TensorFlow Internals』筆記_源碼結構


零、資料集合

另附:

Ubuntu下編譯源碼指南

一、代碼獲取

克隆源碼:

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

切換到r1.4穩定分支:

cd tensorflow

git check r1.4

二、源碼結構

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 融
合在一起,並生成更高效的本地機器代碼,提升計算圖的執行效率。

三、邏輯構架圖

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM