TensorFlow.NET 實戰

仇華,陳海平

買這商品的人也買了...

商品描述

本書基於 TensorFlow.NET 框架,詳細介紹了.NET 平臺下深度學習的基礎原理和應用技術,不僅闡述了算法原理,還演示了實踐代碼和運行效果,其中完整示例主要採用的語言為 C#和 F#。全書分為 3 個部分:第一部分介紹了核心 API 的用法和基礎示例,包括數據類型、張量、Eager Mode、自動求導、線性回歸、邏輯回歸、tf.data、深度神經網絡和 AutoGraph 機制,讀者可以通過學習這一部分內容快速入門;第二部分重點演示了.NET Keras 的用法,包括模型、網絡層、常用 API、模型搭建和模型訓練,讀者可以由此掌握主流的深度學習方法;第三部分主要是生產應用和案例實操,包括 GPU 環境搭建、自定義數據集訓練、圖像分類、目標檢測、遷移學習、自然語言處理、生成對抗網絡和 F#應用案例,每個案例均有完整的代碼。本書涵蓋深度學習的方法和實踐,主要面向在校大學生、生產技術人員和研究人員,適合具備.NET 編程基礎,希望通過.NET 技術開發深度學習應用的讀者閱讀。

目錄大綱

第一部分 TensorFlow.NET API 入門
第 1 章 TensorFlow.NET 介紹 ................................................................................... 2
1.1 TensorFlow.NET 特性 .................................................................................................. 2
1.2 TensorFlow.NET 開源庫結構 ...................................................................................... 3
第 2 章 數據類型與張量詳解 ........................................................................................ 6
2.1 數據類型 ...................................................................................................................... 6
2.2 張量詳解 ...................................................................................................................... 7
2.3 常量與變量 .................................................................................................................. 8
2.4 字符串常見操作 .........................................................................................................11
2.5 基本張量操作 ............................................................................................................ 14
2.6 維度變換 .................................................................................................................... 19
2.7 合並分割 .................................................................................................................... 22
2.8 廣播機制 .................................................................................................................... 24
第 3 章 Eager Mode 詳解 ............................................................................................ 28
3.1 Eager Mode 說明 ........................................................................................................ 28
3.2 Eager Mode 比較 ........................................................................................................ 29
3.3 Eager Mode 數值運算 ................................................................................................ 31
3.4 Eager Mode 張量降維運算 ........................................................................................ 32
3.5 Eager Mode 矩陣運算 ................................................................................................ 35
3.6 print 與 tf.print 特性對比 ........................................................................................... 37
第 4 章 自動求導原理與應用 ....................................................................................... 44
4.1 機器學習中的求導 .................................................................................................... 44
4.2 簡單函數求導 ............................................................................................................ 45
4.3 復雜函數求偏導 ........................................................................................................ 46
第 5 章 線性回歸實操 ...................................................................................................... 48
5.1 線性回歸問題 ............................................................................................................ 48
5.2 TensorFlow 下的線性回歸 ........................................................................................ 50
5.3 C#和 Python 的性能比較 .......................................................................................... 54
第 6 章 MNIST 手寫字符分類邏輯回歸 ............................................................................ 56
6.1 經典的 MNIST 手寫字符分類問題 .......................................................................... 56
6.2 邏輯回歸代碼實操 .................................................................................................... 63
第 7 章 tf.data 數據集創建與預處理 ................................................................................ 77
7.1 tf.data 介紹 ................................................................................................................. 77
7.2 tf.data 數據集創建 ..................................................................................................... 78
7.3 tf.data 數據預處理 ..................................................................................................... 81
7.4 tf.data 數據使用 ......................................................................................................... 89
第 8 章 深度神經網絡實踐 ............................................................................................................ 91
8.1 深度神經網絡介紹 .................................................................................................... 91
8.2 TensorFlow.NET 代碼實操 1:DNN with Eager ...................................................... 93
8.3 TensorFlow.NET Keras 模型搭建的 3 種方式 ........................................................ 105
8.4 TensorFlow.NET 代碼實操 2:DNN with Keras .....................................................116
第 9 章 AutoGraph 機制詳解 .............................................................................................. 131
9.1 AutoGraph 機制說明 ............................................................................................... 131
9.2 AutoGraph 機制原理 ............................................................................................... 144
9.3 AutoGraph 編碼規範 ............................................................................................... 146
第二部分 .NET Keras 簡明教程
第 10 章 Keras 簡要介紹 ................................................................................................... 149
10.1 Keras 特性 .............................................................................................................. 149
10.2 Keras 版本說明 ...................................................................................................... 150
第 11 章 模型與層 ................................................................................................................... 152
11.1 Keras 常用的模型與層 .......................................................................................... 152
11.2 自定義層 ................................................................................................................ 155
11.3 自定義模型 ............................................................................................................ 157
11.4 模型常用 API 概述 ................................................................................................ 160
第 12 章 Keras 常用 API 說明 ........................................................................................... 167
12.1 回調函數 ................................................................................................................ 167
12.2 數據集預處理 ........................................................................................................ 169
12.3 優化器 .................................................................................................................... 172
12.4 損失函數 ................................................................................................................ 175
12.5 評估指標 ................................................................................................................ 180
第 13 章 Keras 搭建模型的 3 種方式 ............................................................................ 184
13.1 Sequential API 方式 ............................................................................................... 185
13.2 Functional API 方式 ............................................................................................... 186
13.3 自定義模型 ............................................................................................................ 188
第 14 章 Keras 模型訓練 ..................................................................................................... 194
14.1 內置 fit 訓練 ........................................................................................................... 194
14.2 自定義訓練 ............................................................................................................ 196
第三部分 生產應用與案例
第 15 章 CPU 和 GPU 環境下的 TensorFlow.NET 應用 ........................................... 201
15.1 CPU 和 GPU 環境搭建及安裝 .............................................................................. 201
15.2 TensorFlow.NET 的圖像利器 SharpCV ................................................................ 221
第 16 章 工業生產環境應用案例 ......................................................................................... 228
16.1 工業機器視覺領域應用 ........................................................................................ 228
16.2 工業時間序列預測領域應用 ................................................................................ 247
第 17 章 在 C#下使用 TensorFlow.NET 訓練自己的數據集 .......................................... 254
17.1 項目說明 ................................................................................................................ 254
17.2 模型介紹 ................................................................................................................ 254
17.3 數據集說明 ............................................................................................................ 256
17.4 代碼說明 ................................................................................................................ 256
17.5 總結 ........................................................................................................................ 274
第 18 章 視覺圖像分類 ....................................................................................................... 275
18.1 捲積神經網絡實現圖像分類 ................................................................................ 277
18.2 捲積神經網絡詳解 ................................................................................................ 287
18.3 深入瞭解捲積神經網絡 ........................................................................................ 319
第 19 章 視覺目標檢測 ................................................................................................................ 347
19.1 視覺目標檢測原理簡述 ........................................................................................ 347
19.2 YOLO v3 模型推理實踐 ....................................................................................... 360
19.3 YOLO v3 模型訓練實踐 ....................................................................................... 374
第 20 章 遷移學習應用 ................................................................................................................ 393
20.1 遷移學習原理簡述 ................................................................................................ 393
20.2 Inception v3 網絡 ................................................................................................... 396
20.3 遷移學習代碼實操 ................................................................................................ 400
第 21 章 自然語言處理 ................................................................................................................ 426
21.1 自然語言處理簡述 ................................................................................................ 426
21.2 詞向量 .................................................................................................................... 429
21.3 文本分類代碼實操 ................................................................................................ 446
第 22 章 生成對抗網絡 ................................................................................................................ 467
22.1 生成對抗網絡簡述 ................................................................................................ 467
22.2 生成對抗網絡實戰案例 ........................................................................................ 479
第 23 章 F#應用案例 .................................................................................................................... 500
23.1 F#簡明教程 ............................................................................................................ 500
23.2 F#案例實踐 ............................................................................................................ 513
參考文獻 ............................................................................................................................................ 534