書 名 深入理解TensorFlow 架構設計與實現原理
叢 書 名 圖靈原創
標準書號 ISBN 978-7-115-48094-1
編目分類 TP18
作 者 彭靖田 林健 白小龍
譯 者 --
責任編輯 王軍花
開 本 16 開
印 張 23
字 數 544 韆字
頁 數 354 頁
初版時間 2018年5月
定 價 79.00 元
本書以TensorFlow 1.2為基礎,從基本概念、內部實現和實踐等方麵深入剖析瞭TensorFlow。書中首先介紹瞭TensorFlow設計目標、基本架構、環境準備和基礎概念,接著重點介紹瞭以數據流圖為核心的機器學習編程框架的設計原則與核心實現,緊接著還將TensorFlow與深度學習相結閤,從理論基礎和程序實現這兩個方麵係統介紹瞭CNN、GAN和RNN等經典模型,然後深入剖析瞭TensorFlow運行時核心、通信原理和數據流圖計算的原理與實現,後全麵介紹瞭TensorFlow生態係統的發展。第 一部分 基礎篇
第 1章 TensorFlow係統概述 2
1.1 簡介 2
1.1.1 産生背景 2
1.1.2 獨特價值 3
1.1.3 版本變遷 4
1.1.4 與其他主流深度學習框架的對比 6
1.2 設計目標 7
1.2.1 靈活通用的深度學習庫 8
1.2.2 端雲結閤的人工智能引擎 9
1.2.3 高性能的基礎平颱軟件 10
1.3 基本架構 12
1.3.1 工作形態 12
1.3.2 組件結構 13
1.4 小結 14
第 2章 TensorFlow環境準備 15
2.1 安裝 15
2.1.1 TensorFlow安裝概述 15
2.1.2 使用Anaconda安裝 17
2.1.3 使用原生pip安裝 17
2.1.4 使用virtualenv安裝 18
2.1.5 使用Docker安裝 19
2.1.6 使用源代碼編譯安裝 20
2.1.7 Hello TensorFlow 22
2.2 依賴項 23
2.2.1 Bazel軟件構建工具 24
2.2.2 Protocol Buffers數據結構序列化工具 25
2.2.3 Eigen綫性代數計算庫 27
2.2.4 CUDA統一計算設備架構 28
2.3 源代碼結構 29
2.3.1 根目錄 29
2.3.2 tensorflow目錄 30
2.3.3 tensorflow/core目錄 31
2.3.4 tensorflow/python目錄 32
2.3.5 安裝目錄 33
2.4 小結 33
第3章 TensorFlow基礎概念 34
3.1 編程範式:數據流圖 34
3.1.1 聲明式編程與命令式編程 34
3.1.2 聲明式編程在深度學習應用上的優勢 35
3.1.3 TensorFlow數據流圖的基本概念 38
3.2 數據載體:張量 40
3.2.1 張量:Tensor 40
3.2.2 稀疏張量:SparseTensor 44
3.3 模型載體:操作 46
3.3.1 計算節點:Operation 46
3.3.2 存儲節點:Variable 49
3.3.3 數據節點:Placeholder 53
3.4 運行環境:會話 55
3.4.1 普通會話:Session 55
3.4.2 交互式會話:InteractiveSession 59
3.4.3 擴展閱讀:會話實現原理 59
3.5 訓練工具:優化器 61
3.5.1 損失函數與優化算法 61
3.5.2 優化器概述 64
3.5.3 使用minimize方法訓練模型 66
3.5.4 擴展閱讀:模型訓練方法進階 68
3.6 一元綫性迴歸模型的佳實踐 72
3.7 小結 76
第二部分 關鍵模塊篇
第4章 TensorFlow數據處理方法 78
4.1 輸入數據集 78
4.1.1 使用輸入流水綫並行讀取數據 78
4.1.2 創建批樣例數據的方法 86
4.1.3 填充數據節點的方法 87
4.1.4 處理CIFAR-10數據集的佳實踐 88
4.1.5 擴展閱讀:MNIST數據集 91
4.2 模型參數 92
4.2.1 模型參數的典型使用流程 92
4.2.2 使用tf.Variable創建、初始化和更新模型參數 92
4.2.3 使用tf.train.Saver保存和恢復模型參數 98
4.2.4 使用變量作用域處理復雜模型 100
4.3 命令行參數 103
4.3.1 使用argparse解析命令行參數 103
4.3.2 使用tf.app.flags解析命令行參數 108
4.4 小結 111
第5章 TensorFlow編程框架 112
5.1 單機程序編程框架 112
5.1.1 概述 112
5.1.2 創建單機數據流圖 114
5.1.3 創建並運行單機會話 116
5.2 分布式程序編程框架 118
5.2.1 PS-worker架構概述 118
5.2.2 分布式程序編程框架概述 120
5.2.3 創建TensorFlow集群 121
5.2.4 將操作放置到目標設備 124
5.2.5 數據並行模式 124
5.2.6 同步訓練機製 125
5.2.7 異步訓練機製 130
5.2.8 使用Supervisor管理模型訓練 131
5.2.9 分布式同步訓練的佳實踐 133
5.3 小結 137
第6章 TensorBoard可視化工具 138
6.1 概述 138
6.2 可視化數據流圖 142
6.2.1 名字作用域與抽象節點 142
6.2.2 可視化數據流圖的佳實踐 144
6.2.3 擴展閱讀:匯總數據和事件數據 145
6.2.4 擴展閱讀:揭秘tf.summary.FileWriter工作原理 147
6.3 可視化學習過程 149
6.3.1 匯總操作概述 149
6.3.2 使用tf.summary.scalar生成摺綫圖 150
6.3.3 使用tf.summary.histogram生成數據分布圖 152
6.3.4 使用tf.summary.image生成圖像 154
6.3.5 使用tf.summary.audio生成音頻 155
6.3.6 可視化MNIST softmax模型學習過程的佳實踐 156
6.4 可視化高維數據 158
6.4.1 使用TensorBoard可視化高維數據 158
6.4.2 可視化MNIST數據集的佳實踐 160
6.5 小結 163
第7章 模型托管工具:TensorFlow Serving 164
7.1 概述 164
7.2 係統架構 165
7.3 安裝 167
7.3.1 使用APT安裝ModelServer 168
7.3.2 使用源碼編譯安裝ModelServer 169
7.4 佳實踐 170
7.4.1 導齣模型 170
7.4.2 發布模型服務 173
7.4.3 更新綫上模型服務 174
7.5 小結 175
第三部分 算法模型篇
第8章 深度學習概述 178
8.1 深度學習的曆史 178
8.1.1 感知機模型與神經網絡 178
8.1.2 神經網絡的寒鼕與復蘇 179
8.1.3 神經網絡的發展與第二次寒鼕 181
8.1.4 深度學習時代的到來 183
8.2 深度學習的主要應用 184
8.2.1 計算機視覺 185
8.2.2 自然語言處理 186
8.2.3 強化學習 188
8.3 深度學習與TensorFlow 190
8.4 小結 191
第9章 CNN模型 192
9.1 CNN 192
9.1.1 CNN簡介 192
9.1.2 捲積層 193
9.1.3 激活層 195
9.1.4 池化層 195
9.1.5 全連接層 196
9.1.6 Dropout層 196
9.1.7 BN層 197
9.1.8 常用的CNN圖像分類模型 197
9.2 TensorFlow-Slim 204
9.2.1 TensorFlow-Slim總體結構 204
9.2.2 datasets包和data包 205
9.2.3 preprocessing包 207
9.2.4 deployment包 207
9.2.5 nets包 209
9.2.6 TensorFlow-Slim佳實踐 212
9.3 應用 216
9.3.1 物體檢測 216
9.3.2 圖像分割 221
9.4 小結 222
第 10章 GAN模型 223
10.1 原理、特點及應用 223
10.1.1 原理 224
10.1.2 特點 225
10.1.3 應用 226
10.2 GAN模型的改進 228
10.2.1 CGAN模型 228
10.2.2 LAPGAN模型 229
10.2.3 DCGAN模型 230
10.2.4 InfoGAN模型 230
10.2.5 LSGAN模型 231
10.2.6 WGAN模型 232
10.3 佳實踐 233
10.4 小結 238
第 11章 RNN模型 239
11.1 基本RNN單元及其變種 239
11.1.1 RNN模型簡介 239
11.1.2 基本RNN單元 240
11.1.3 LSTM單元 242
11.1.4 GRU單元 243
11.1.5 雙嚮RNN單元 244
11.1.6 帶有其他特性的RNN單元 245
11.2 RNN模型 247
11.2.1 PTB-LSTM語言模型 247
11.2.2 Seq2Seq模型 251
11.3 小結 254
第四部分 核心揭秘篇
第 12章 TensorFlow運行時核心設計與實現 256
12.1 運行時框架概述 256
12.2 關鍵數據結構 257
12.2.1 張量相關數據結構 258
12.2.2 設備相關數據結構 260
12.2.3 數據流圖相關的數據結構 263
12.3 公共基礎機製 266
12.3.1 內存分配 266
12.3.2 綫程管理 268
12.3.3 多語言接口 269
12.3.4 XLA編譯技術 270
12.3.5 單元測試框架 271
12.4 外部環境接口 272
12.4.1 加速器硬件接口 272
12.4.2 係統軟件接口 275
12.5 小結 276
第 13章 通信原理與實現 277
13.1 概述 277
13.2 進程內通信 278
13.2.1 通信接口 278
13.2.2 會閤點機製 280
13.2.3 異構設備內存訪問 282
13.3 進程間通信 283
13.3.1 gRPC通信機製 284
13.3.2 控製通信 286
13.3.3 數據通信 290
13.4 RDMA通信模塊 294
13.4.1 模塊結構 295
13.4.2 消息語義 296
13.4.3 通信流程 297
13.5 小結 300
第 14章 數據流圖計算原理與實現 301
14.1 概述 301
14.2 數據流圖創建 302
14.2.1 流程與抽象 303
14.2.2 全圖構造 305
14.2.3 子圖提取 306
14.2.4 圖切分 307
14.2.5 圖優化 308
14.3 單機會話運行 308
14.3.1 流程與抽象 309
14.3.2 執行器獲取 311
14.3.3 輸入數據填充 312
14.3.4 圖運行 313
14.3.5 輸齣數據獲取 315
14.3.6 張量保存 315
14.4 分布式會話運行 315
14.4.1 主-從模型 316
14.4.2 主要抽象 317
14.4.3 client創建會話 319
14.4.4 client請求圖運行 320
14.4.5 master驅動圖運行 321
14.4.6 worker實施圖運行 323
14.5 操作節點執行 325
14.5.1 核函數抽象 325
14.5.2 CPU上的執行流程 326
14.5.3 CUDA GPU上的執行流程 326
14.6 小結 327
第五部分 生態發展篇
第 15章 TensorFlow生態環境 330
15.1 生態環境概況 330
15.1.1 社區托管組件 330
15.1.2 第三方項目 333
15.2 深度神經網絡庫Keras 334
15.2.1 概述 334
15.2.2 模型概述 335
15.2.3 順序模型 336
15.2.4 函數式模型 338
15.3 TensorFlow與Kubernetes生態的結閤 340
15.4 TensorFlow與Spark生態的結閤 344
15.5 TensorFlow通信優化技術 345
15.6 TPU及神經網絡處理器 348
15.7 NNVM模塊化深度學習組件 349
15.8 TensorFlow未來展望——TFX 351
15.9 小結 353
附錄A 354
坦白說,我被這本書的副標題深深吸引瞭。《深入理解TensorFlow架構設計與實現原理 深度學習 TensorFlow入門與實戰》,這幾乎囊括瞭我對學習TensorFlow最核心的訴求。我渴望理解TensorFlow是如何高效地調度計算資源的,它的多綫程和多進程模型是如何協同工作的,又是如何實現跨設備(CPU、GPU、TPU)計算的。我對它的數據流圖和計算圖的底層錶示,以及如何通過圖優化來提升性能非常好奇。此外,書中“深度學習”的字樣,也讓我期待能夠深入瞭解TensorFlow在各種深度學習模型(如CNN、RNN、Transformer等)中的應用,並理解這些模型在TensorFlow框架下的具體實現細節。而“入門與實戰”則讓我看到瞭一個循序漸進的學習路徑,既能打牢基礎,又能通過實操來鞏固和提升。
評分作為一個長期使用TensorFlow進行研究和開發的工程師,我一直在尋找一本能夠填補我知識盲區的書籍。市麵上關於TensorFlow的教程很多,大多集中在API的使用和模型構建上,但真正能夠深入講解其底層架構和實現原理的卻寥寥無幾。這本書的標題,特彆是“架構設計與實現原理”,讓我眼前一亮。我希望能在這本書中找到關於TensorFlow執行引擎、內存管理、算子庫、分布式計算框架等方麵的詳盡闡述。理解這些底層機製,對於優化模型性能、排查疑難bug、甚至參與到TensorFlow的開發和貢獻中都至關重要。同時,書中提到的“深度學習”和“入門與實戰”,也錶明它並不會止步於純粹的理論,而是會結閤實際應用,讓我能夠學以緻用,將這些深邃的原理應用到具體的項目中。
評分這本書的齣現,仿佛是為我量身定製的。我一直在尋找一本能夠真正讓我“讀懂”TensorFlow的書,而不是僅僅停留在“會用”的層麵。市麵上有很多TensorFlow的教程,但大多過於淺顯,或者過於偏重某個特定領域的應用,缺乏對框架本身架構和實現原理的係統性講解。而《深入理解TensorFlow架構設計與實現原理 深度學習 TensorFlow入門與實戰》這個書名,正是我夢寐以求的。我特彆想瞭解TensorFlow的計算圖是如何構建和優化的,它的核心API背後是如何與底層C++或CUDA代碼交互的,以及它在內存管理、多綫程調度、分布式訓練等方麵是如何設計的。這些細節的理解,對於我優化模型性能、解決復雜的工程問題至關重要。而且,書中“深度學習”和“入門與實戰”的結閤,也讓我相信它能夠提供一套完整的學習體係,從原理到實踐,全麵提升我運用TensorFlow的能力。
評分這本《深入理解TensorFlow架構設計與實現原理 深度學習 TensorFlow入門與實戰》的書名著實讓人眼前一亮,尤其是“架構設計與實現原理”這幾個字,立刻就吸引瞭我。我一直對深度學習的底層實現很感興趣,想知道那些高效的運算是如何在TensorFlow這個框架中實現的,它的數據流圖到底是如何工作的,op的執行流程是怎樣的,有沒有一些巧妙的內存管理和並行計算的技巧。而且,光有理論知識不夠,我更希望能夠結閤實戰,看看如何在實際項目中運用TensorFlow來解決問題,比如構建一個圖像識彆模型,或者訓練一個自然語言處理模型。書名裏的“入門與實戰”也恰好滿足瞭我的需求,既能學到基礎,又能上手實踐,感覺這本書能夠帶我真正地“深入”到TensorFlow的內核,理解它為什麼這麼強大,並且學到如何有效地利用它。我期待能夠在這本書裏找到一些關於TensorFlow背後設計哲學和工程實踐的洞見,這對於提升我的開發技能和解決復雜問題的能力會非常有幫助。
評分拿到這本書,第一感覺就是它給我瞭一種踏實的感覺。在浩瀚的深度學習技術海洋裏,TensorFlow無疑是最核心的巨頭之一,而如何纔能真正地駕馭它,而不是僅僅停留在API調用的層麵,是很多從業者都在思考的問題。這本書的名字精準地抓住瞭這個痛點。它不僅僅是教你“怎麼用”,更重要的是告訴你“為什麼這麼用”以及“它內部是怎麼工作的”。我特彆想瞭解TensorFlow是如何處理大規模數據訓練的,比如它的分布式訓練策略,梯度下降的並行化實現,以及如何有效地管理GPU資源。同時,我也對它的計算圖機製有著濃厚的興趣,想知道這個動態或靜態的圖是如何被構建、優化和執行的,以及它與Python的交互機製是怎樣的。這本書的“架構設計與實現原理”部分,讓我看到瞭深入學習的希望,相信它能為我揭示TensorFlow的神秘麵紗,讓我從一個“用戶”升級為一個能夠理解和定製其內部運作的“開發者”。
本站所有內容均為互聯網搜尋引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度,google,bing,sogou 等
© 2025 book.cndgn.com All Rights Reserved. 新城书站 版權所有