tensorflow/
-
tensorflow/
該目錄下存放著tensorflow的核心代碼
-
contrib/
該目錄下存放有其他項目貢獻者添加的相關貢獻代碼。由于tensorflow受關注程度較高,目前該目錄正急劇膨脹。
-
core/
后臺C++實現部分。包含了主要的 C++代碼 和 runtimes 。該目錄為tensorflow的C++源碼的核心。
-
common_runtime/
tensorflow 普通的 執行邏輯。
-
distributed_runtime/
tensorflow 與分布式相關的 執行邏輯。
-
framework/
包含主要的 抽象圖計算 和 其他有用的library 。對tensorflow進行計算過程中的 通用組件 進行了定義和實現。
-
graph/
tensorflow 圖相關操作 的邏輯。 由于tensorflow中的數據計算本質上是一個圖狀結構的計算流程,該過程中存在將圖進行切分并且并行化執行的可能性。該目錄下的代碼邏輯即為對圖數據進行結構化定義并進行拆分的相關內容。
-
kernels/
對tensorflow中各個 單步op 的具體實現。
-
lib/
一些 公用的 調用方法 。同 util /
-
ops/
對 kernel/ 下的op進行注冊和對外聲明。
-
platform/
包含 抽象出平臺 和 其他 導入庫(protobuf等) 的代碼
-
protobuf/
tensorflow下各個 模塊間 進行 數據傳輸 的 數據結構定義,通過proto進行配置實現。
-
public/
定義 Session
-
user_ops/
存放 自己編寫 的 op
-
util/
一些 公用的 調用方法 。同 lib/
其他 文件夾/
其他 文檔
-
-
examples/
一些示例(如ios、android系統的示例)
-
g3doc/
是針對c++、python的版本的代碼文檔
-
python/
前臺Python接口。 該目錄下存放了tensorflow使用python編寫的相關代碼,是和 core/ 對應的python實現目錄。使用python封裝了 ** 對 core/ 中實現的相關的機器學習算法 的調用 ** 。 同時利用了 python方便的編程特性 和 C++高效的執行效率 。
-
framework/
包含 圖的python抽象 等,(還沒深入驗證過的: “ 其中很多被序列化為 proto 或被傳遞到 swigged session 調用 ” )
-
kernel_tests/
單元測試代碼 和 示例代碼
-
ops/
核心python接口
-
platform/
和上面C++部分的platform(core/platform/)差不多, 對python I/O、單元測試等做了輕量級的包裝。
-
-
stream_executor/
流處理
-
tensorboard/
tensorflow獨家模塊。用于模型訓練中 實時生成 圖表,以監控 模型的訓練程度
-
tools/
一些 工具雜項(如pip、git)
-
user_ops/
存放 自己編寫 的 op
-
-
third_party/
-
tools/
-
util/
-
configure文檔
該文件用于配置tensorflow的安裝環境,運行該文件并完成tensorflow的安裝環境配置后,輸入相應bazel指令即可完成代碼的編譯工作(需要先安裝bazel)
-
其他文檔
Supplement:
很多博客中提到的 models/(位于根目錄下,該目錄下存放這多個使用python實現的模型實例),我并沒有看到。估計是最新版的Tensorflow源碼取消了這個文件夾。
Reference:
google討論小組、Tensorflow快速入門3–代碼結構及模型例子