Python深度學習:基於TensorFlow 第2版

《Python深度學習:基於TensorFlow 第2版》是2022年機械工業出版社出版的圖書。

基本介紹

  • 中文名:Python深度學習:基於TensorFlow 第2版
  • 出版時間:2022年11月1日
  • 出版社:機械工業出版社
  • ISBN:9787111712244
內容簡介,圖書目錄,作者簡介,

內容簡介

這是一本能指導讀者快速掌握TensorFlow和深度學習的著作,從TensorFlow的原理到套用,從深度學習到強化學習,本書提供了全棧解決方案。
第1版上市後銷量和口碑俱佳,是深度學習領域的暢銷書,被譽為TenSorFlow領域的標準著作。第2版在第1版的基礎上,去蕪存菁,與時具進,根據TensorFlow新版本全面升級,技術性、實戰性、針對性、易讀性均得到了進一步提升,必定能幫助讀者更輕鬆、更高效地進入深度學習的世界。

圖書目錄

第2版前言
第1版前言
第一部分 TensorFlow基礎
第1章 NumPy基礎 2
1.1 把圖像數位化 3
1.1.1 數組屬性 4
1.1.2 從已有數據中生成數組 4
1.1.3 利用 random 模組生成
數組 5
1.1.4 利用 arange、linspace
函式生成數組 7
1.2 存取元素 8
1.3 NumPy的算術運算 9
1.3.1 對應元素相乘 10
1.3.2 點積運算 11
1.4 數據變形 12
1.4.1 更改數組的形狀 12
1.4.2 合併數組 15
1.5 通用函式 18
1.6 廣播機制 20
1.7 用NumPy實現回歸實例 21
1.8 小結 24
第2章 TensorFlow基礎知識 25
2.1 安裝配置 25
2.1.1 安裝Anaconda 26
2.1.2 安裝TensorFlow
CPU版 26
2.1.3 安裝TensorFlow
GPU版 27
2.2 層次架構 29
2.3 張量 30
2.3.1 張量的基本屬性 30
2.3.2 張量切片 31
2.3.3 操作形狀 32
2.4 變數 33
2.5 NumPy與tf.Tensor比較 35
2.6 計算圖 36
2.6.1 靜態計算圖 36
2.6.2 動態計算圖 37
2.7 自動圖 38
2.8 自動微分 39
2.9 損失函式 42
2.10 最佳化器 43
2.11 使用TensorFlow 2.0實現回歸
實例 43
2.12 GPU加速 48
2.13 小結 50
第3章 TensorFlow構建模型的方法 51
3.1 利用低階API構建模型 51
3.1.1 項目背景 51
3.1.2 導入數據 52
3.1.3 預處理數據 53
3.1.4 構建模型 55
3.1.5 訓練模型 56
3.1.6 測試模型 57
3.1.7 保存恢復模型 57
3.2 利用中階API構建模型 58
3.2.1 構建模型 58
3.2.2 創建損失評估函式 59
3.2.3 訓練模型 59
3.3 利用高階API構建模型 61
3.3.1 構建模型 61
3.3.2 編譯及訓練模型 63
3.3.3 測試模型 64
3.3.4 保存恢復模型 64
3.4 小結 65
第4章 TensorFlow數據處理 66
4.1 tf.data簡介 66
4.2 構建數據集的常用方法 67
4.2.1 從記憶體中讀取數據 68
4.2.2 從文本中讀取數據 68
4.2.3 讀取TFRecord格式
檔案 70
4.3 如何生成自己的TFRecord格式
數據 70
4.3.1 把數據轉換為TFRecord
格式的一般步驟 70
4.3.2 載入TFRecord檔案
流程 72
4.3.3 代碼實現 72
4.4 數據增強方法 75
4.4.1 常用的數據增強方法 75
4.4.2 創建數據處理流水線 77
4.5 小結 78
第5章 可視化 79
5.1 matplotlib 79
5.1.1 matplotlib的基本概念 79
5.1.2 使用matplotlib繪製
圖表 81
5.1.3 使用rcParams 83
5.2 pyecharts 85
5.2.1 pyecharts的安裝 85
5.2.2 使用pyecharts繪製
圖表 86
5.3 TensorBoard 89
5.4 小結 92
第二部分 深度學習基礎
第6章 機器學習基礎 94
6.1 機器學習的一般流程 94
6.1.1 明確目標 94
6.1.2 收集數據 95
6.1.3 數據探索與預處理 95
6.1.4 模型選擇 96
6.1.5 模型評估 96
6.2 監督學習 98
6.2.1 線性回歸 98
6.2.2 邏輯回歸 100
6.2.3 樹回歸 102
6.2.4 支持向量機 102
6.2.5 樸素貝葉斯分類器 105
6.2.6 集成學習 107
6.3 無監督學習 110
6.3.1 主成分分析 110
6.3.2 k均值算法 110
6.4 數據預處理 111
6.4.1 處理缺失值 111
6.4.2 處理分類數據 112
6.5 機器學習實例 113
6.6 小結 119
第7章 神經網路基礎 120
7.1 單層神經網路 121
7.2 多層神經網路 122
7.2.1 多層神經網路的結構 122
7.2.2 各層之間的信息傳輸 123
7.2.3 使用多層神經網路解決
XOR問題 123
7.2.4 使用TensorFlow解決XOR問題 125
7.3 激活函式 126
7.3.1 sigmoid函式 127
7.3.2 softmax函式 127
7.3.3 tanh函式 128
7.3.4 ReLU函式 129
7.3.5 Leaky-ReLU函式 129
7.3.6 softplus函式 130
7.3.7 Dropout函式 130
7.4 正向和反向傳播算法 130
7.4.1 單個神經元的BP算法 131
7.4.2 多層神經網路的BP
算法 132
7.5 解決過擬合問題 135
7.5.1 權重正則化 135
7.5.2 Dropout正則化 136
7.5.3 批量正則化 138
7.5.4 權重初始化 139
7.5.5 殘差網路 140
7.6 選擇最佳化算法 141
7.6.1 傳統梯度更新算法 141
7.6.2 動量算法 142
7.6.3 NAG算法 144
7.6.4 AdaGrad算法 145
7.6.5 RMSProp算法 146
7.6.6 Adam算法 146
7.6.7 如何選擇最佳化算法 147
7.7 使用tf.keras構建神經網路 148
7.7.1 tf.keras概述 148
7.7.2 tf.keras的常用模組 148
7.7.3 構建模型的幾種方法 149
7.7.4 使用Sequential API
構建神經網路實例 150
7.7.5 使用Functional API
構建神經網路實例 156
7.7.6 使用Subclassing API
構建神經網路實例 157
7.8 小結 158
第8章 視覺處理基礎 159
8.1 從全連線層到卷積層 159
8.1.1 圖像的兩個特性 160
8.1.2 卷積神經網路概述 161
8.2 卷積層 162
8.2.1 卷積核 163
8.2.2 步幅 165
8.2.3 填充 166
8.2.4 多通道上的卷積 166
8.2.5 激活函式 168
8.2.6 卷積函式 168
8.2.7 轉置卷積 169
8.2.8 特徵圖與感受野 171
8.2.9 全卷積網路 171
8.3 池化層 172
8.3.1 局部池化 173
8.3.2 全局池化 174
8.4 現代經典網路 175
8.4.1 LeNet-5模型 175
8.4.2 AlexNet模型 176
8.4.3 VGG模型 177
8.4.4 GoogLeNet模型 178
8.4.5 ResNet模型 179
8.4.6 DenseNet模型 179
8.5 卷積神經網路分類實例 181
8.5.1 使用Subclassing API
構建網路 181
8.5.2 卷積神經網路分類實例的
主要步驟 181
8.5.3 通過數據增強提升
性能 184
8.5.4 通過現代網路架構提升
網路性能 185
8.6 小結 187
第9章 自然語言處理基礎 188
9.1 從語言模型到循環神經網路 188
9.1.1 鏈式法則 189
9.1.2 馬爾可夫假設與N元
語法模型 189
9.1.3 從N元語法模型到隱含
狀態表示 189
9.1.4 從神經網路到有隱含
狀態的循環神經網路 190
9.1.5 使用循環神經網路構建
語言模型 192
9.1.6 多層循環神經網路 192
9.2 正向傳播與隨時間反向傳播 193
9.3 現代循環神經網路 196
9.3.1 LSTM 196
9.3.2 GRU 197
9.3.3 Bi-RNN 197
9.4 幾種特殊架構 198
9.4.1 編碼器?-?解碼器架構 198
9.4.2 Seq2Seq架構 200
9.5 循環神經網路的套用場景 201
9.6 循環神經網路實踐 202
9.6.1 使用LSTM實現文本
分類 202
9.6.2 把CNN和RNN組合
在一起 203
9.7 小結 206
第10章 注意力機制 207
10.1 注意力機制概述 207
10.1.1 兩種常見注意力
機制 208
10.1.2 來自生活的注意力 208
10.1.3 注意力機制的本質 208
10.2 帶注意力機制的編碼器?-?解碼器架構 210
10.2.1 引入注意力機制 211
10.2.2 計算注意力分配值 212
10.3 可視化Transformer架構 215
10.3.1 Transformer的頂層
設計 215
10.3.2 編碼器與解碼器的
輸入 216
10.3.3 自注意力 217
10.3.4 多頭注意力 220
10.3.5 自注意力與卷積神經
網路、循環神經網路的
異同 222
10.3.6 為加深Transformer
網路層保駕護航的幾種
方法 223
10.3.7 如何進行自監督
學習 224
10.3.8 Transformer在視覺
領域的套用 225
10.4 使用TensorFlow實現
Transformer 227
10.4.1 Transformer
架構圖 227
10.4.2 架構說明 227
10.4.3 構建縮放的點積注意力
模組 228
10.4.4 構建多頭注意力
模組 229
10.4.5 構建前饋神經網路
模組 230
10.4.6 構建EncoderLayer
模組 230
10.4.7 構建Encoder模組 231
10.4.8 構建DecoderLayer
模組 232
10.4.9 構建Decoder模組 233
10.4.10 構建Transformer
模型 234
10.4.11 定義掩碼函式 235
10.5 小結 238
第11章 目標檢測 239
11.1 目標檢測及主要挑戰 239
11.1.1 邊界框的表示 240
11.1.2 手工標註圖像的
真實值 241
11.1.3 主要挑戰 244
11.1.4 選擇性搜尋 245
11.1.5 錨框 245
11.1.6 RPN算法 247
11.2 最佳化候選框的算法 248
11.2.1 交並比 248
11.2.2 非極大值抑制 248
11.2.3 框線回歸 249
11.2.4 使候選框輸出為固定
大小 251
11.3 典型的目標檢測算法 253
11.3.1 R-CNN 253
11.3.2 Fast R-CNN 254
11.3.3 Faster R-CNN 255
11.3.4 Mask R-CNN 256
11.3.5 YOLO 257
11.3.6 Swin Transformer 257
11.3.7 各種算法的性能
比較 258
11.4 小結 258
第12章 生成式深度學習 259
12.1 用變分自編碼器生成圖像 259
12.1.1 自編碼器 259
12.1.2 變分自編碼器 260
12.1.3 用變分自編碼器生成
圖像實例 261
12.2 GAN簡介 263
12.2.1 GAN的架構 264
12.2.2 GAN的損失函式 265
12.3 用GAN生成圖像 266
12.3.1 判別器 266
12.3.2 生成器 266
12.3.3 訓練模型 267
12.3.4 可視化結果 267
12.4 VAE與GAN的異同 267
12.5 CGAN 268
12.5.1 CGAN的架構 268
12.5.2 CGAN 判別器 269
12.5.3 CGAN生成器 269
12.5.4 訓練模型 270
12.5.5 動態查看指定標籤的
圖像 270
12.6 提升GAN訓練效果的一些
技巧 270
12.7 小結 271
第三部分 深度學習實踐
第13章 實戰生成式模型 274
13.1 Deep Dream模型 274
13.1.1 Deep Dream的
原理 274
13.1.2 Deep Dream算法的
流程 275
13.1.3 使用TensorFlow實現Deep Dream 275
13.2 風格遷移 277
13.2.1 內容損失 278
13.2.2 風格損失 279
13.2.3 訓練模型 281
13.3 小結 282
第14章 目標檢測實例 283
14.1 數據集簡介 283
14.2 準備數據 284
14.3 訓練模型 286
14.4 測試模型 292
14.5 小結 293
第15章 人臉檢測與識別實例 294
15.1 人臉識別簡介 294
15.2 項目概況 297
15.3 項目詳細實施步驟 297
15.3.1 圖像預處理 298
15.3.2 構建模型 299
15.3.3 測試模型 300
15.4 小結 302
第16章 文本檢測與識別實例 303
16.1 項目架構說明 303
16.2 項目實施步驟 304
16.2.1 手工生成訓練數據 304
16.2.2 數據預處理 306
16.2.3 構建模型 308
16.2.4 訓練模型 309
16.3 小結 311
第17章 基於Transformer的
對話實例 312
17.1 數據預處理 312
17.2 構建注意力模組 315
17.3 構建Transformer架構 316
17.4 定義損失函式 320
17.5 初始化並編譯模型 321
17.6 測試評估模型 321
17.7 小結 322
第18章 基於Transformer的
圖像處理實例 323
18.1 導入數據 323
18.2 預處理數據 324
18.3 構建模型 326
18.4 編譯、訓練模型 329
18.5 可視化運行結果 330
18.6 小結 331
第四部分 強化學習
第19章 強化學習基礎 334
19.1 強化學習基礎概述 334
19.1.1 智慧型體與環境的
互動 335
19.1.2 回報 335
19.1.3 馬爾可夫決策過程 336
19.1.4 貝爾曼方程 336
19.1.5 貝爾曼優方程 337
19.1.6 同步策略與異步
策略 337
19.1.7 有模型訓練與無模型
訓練 337
19.2 時序差分算法 338
19.3 Q-Learning算法 338
19.3.1 Q-Learning算法的
主要流程 339
19.3.2 Q函式 339
19.3.3 貪婪策略 340
19.4 SARSA 算法 340
19.5 DQN算法 340
19.5.1 Q-Learning算法的
局限性 341
19.5.2 用深度學習處理強化學習時需要解決的問題 341
19.5.3 用DQN解決問題的
方法 341
19.5.4 定義損失函式 342
19.5.5 DQN的經驗回放
機制 342
19.5.6 目標網路 342
19.5.7 網路模型 342
19.5.8 DQN算法的實現 343
19.6 小結 344
第20章 強化學習實踐 345
20.1 Q-Learning算法實例 345
20.2 SARSA算法實例 346
20.2.1 遊戲場景 346
20.2.2 核心代碼說明 347
20.3 用TensorFlow實現DQN算法 348
20.4 小結 352
附錄A TensorFlow-GPU 2+
升級安裝配置 353
附錄B 從TensorFlow1.x升級到TensorFlow 2.x 360

作者簡介

吳茂貴
資深大數據和人工智慧技術專家,就職於中國外匯交易中心,在BI、數據挖掘與分析、數據倉庫、機器學習等領域工作超過20年。在基於Spark、TensorFlow、PyTorch、Keras等的機器學習和深度學習方面有大量的工程實踐實踐。著有《Python深度學習:基於PyTorch》《深度實踐Spark機器學習》等暢銷書。
王冬
任職於博世(中國)投資有限公司,負責Bosch企業BI及工業4.0相關大數據和數據挖掘項目。對機器學習、人工智慧有多年實踐經驗。
李濤
資深AI技術工程師,對PyTorch、Caffe、TensorFlow等深度學習框架以及計算機視覺技術有深刻的理解和豐富的實踐經驗,曾經參與和主導過服務機器人、無人售後店、搜尋排序等多個人工智慧相關的項目。
楊本法
高級算法工程師,工業表面缺陷檢測設備開發架構師,在機器學習、文本挖掘、可視化等領域有多年實踐經驗。做過大型電商的推薦系統,知名手機廠商外殼表面檢測設備。熟悉Hadoop、Spark生態圈的相關技術,對Python有豐富的實戰經驗。
張利
高級軟體架構師,熟悉企業系統架構、雲計算以及物聯網套用。有豐富的Java、 Python系統開發和運維經驗,機器學習倡導者和實踐者。

相關詞條

熱門詞條

聯絡我們