商品簡介
作者簡介
目次
相關商品
商品簡介
本書以TensorFlow 1.2為基礎,從基本概念、內部實現和實踐等方面深入剖析了TensorFlow。書中首先介紹了TensorFlow設計目標、基本架構、環境準備和基礎概念,接著重點介紹了以數據流圖為核心的機器學習編程框架的設計原則與核心實現,緊接著還將TensorFlow與深度學習相結合,從理論基礎和程序實現這兩個方面系統介紹了CNN、GAN和RNN等經典模型,然後深入剖析了TensorFlow運行時核心、通信原理和數據流圖計算的原理與實現,最後全面介紹了TensorFlow生態系統的發展。
作者簡介
彭靖田,才雲科技技術總監,谷歌機器學習開發專家(ML GDE),Kubeflow Core Maintainer,TensorFlow Contributor,曾一度成為TensorFlow社區全球前40的貢獻者。加州大學聖迭戈分校訪問學者,畢業于浙江大學竺可楨學院求是科學班。曾為華為深度學習團隊核心成員,主要參與華為深度學習平臺的設計和研發工作。
林健,華為深度學習團隊系統工程師。在中科院計算所取得博士學位,並在美國俄亥俄州立大學做過博士後研究。長期從事系統軟件研發,工作涉及高性能計算與分布式系統,愛好開源軟件與人工智能。曾參與開發CNGrid GOS、MVAPICH等工業級軟件,並協作創建LingCloud、DataMPI等開源項目。
白小龍,華為公司深度學習雲服務的技術負責人,主要負責深度學習平臺、模型和算法的研發。長期從事信號、圖像處理和機器學習研究,於2015年6月畢業于浙江大學並取得工學博士學位,曾獲教育部博士生學術新人獎。
林健,華為深度學習團隊系統工程師。在中科院計算所取得博士學位,並在美國俄亥俄州立大學做過博士後研究。長期從事系統軟件研發,工作涉及高性能計算與分布式系統,愛好開源軟件與人工智能。曾參與開發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
第 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
主題書展
更多
主題書展
更多書展今日66折
您曾經瀏覽過的商品
購物須知
大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。
特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。
無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。
為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。
若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。