發表於2024-11-27
纔雲科技技術總監、華為深度學習團隊係統工程師、華為深度學習雲服務的技術負責人聯閤編寫
中國科學院計算技術研究所副研究員/中國大數據技術大會(BDTC)發起人查禮、教育部“長江學者”特聘教授/浙江大學計算機學院院長陳剛作序推薦
纔雲科技創始人兼CEO張鑫、Google Brain資深工程師周玥楓、華為人工智能領域主任工程師夏命榛、雲賬戶聯閤創始人兼CTO鄒永強、博拉科技創始人兼CEO周公爽、微軟亞洲研究院助理研究員王錦鵬、纔雲科技顧問鄭澤宇聯閤推薦
不僅介紹如何使用TensorFlow,還剖析瞭係統設計原理
本書從基本概念、內部實現和實踐等方麵深入剖析瞭TensorFlow。書中首先介紹瞭TensorFlow設計目標、基本架構、環境準備和基礎概念,接著重點介紹瞭以數據流圖為核心的機器學習編程框架的設計原則與核心實現,緊接著還將TensorFlow與深度學習相結閤,從理論基礎和程序實現這兩個方麵係統介紹瞭CNN、GAN和RNN等經典模型,然後深入剖析瞭TensorFlow運行時核心、通信原理和數據流圖計算的原理與實現,全麵介紹瞭TensorFlow生態係統的發展。
彭靖田,纔雲科技技術總監,榖歌機器學習開發專傢(ML GDE),Kubeflow Core Maintainer,TensorFlow Contributor,曾一度成為TensorFlow社區全球前40的貢獻者。加州大學聖迭戈分校訪問學者,畢業於浙江大學竺可楨學院求是科學班。曾為華為深度學習團隊核心成員,主要參與華為深度學習平颱的設計和研發工作。
林健,華為深度學習團隊係統工程師。在中科院計算所取得博士學位,並在美國俄亥俄州立大學做過博士後研究。長期從事係統軟件研發,工作涉及高性能計算與分布式係統,愛好開源軟件與人工智能。曾參與開發CNGrid GOS、MVAPICH等工業級軟件,並閤作創建LingCloud、DataMPI等開源項目。
白小龍,華為公司深度學習雲服務的技術負責人,主要負責深度學習平颱、模型和算法的研發。長期從事信號、圖像處理和機器學習研究,於2015年6月畢業於浙江大學並取得工學博士學位,曾獲教育部博士生學術新人奬。
第 一部分 基礎篇
第 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 架構設計與實現原理 下載 mobi pdf epub txt 電子書 格式 2024
深入理解TensorFlow 架構設計與實現原理 下載 mobi epub pdf 電子書活動很給力!買書就要上京東!
評分TensorFlow入門與實戰
評分收到貨非常好建議購買。
評分原創書,值得一看。
評分彆人推薦,好書一本。
評分好
評分經常在京東買東西,物流快服務好
評分好
評分入門的不錯書籍
深入理解TensorFlow 架構設計與實現原理 mobi epub pdf txt 電子書 格式下載 2024