TensorFlow移動端機器學習實戰

TensorFlow移動端機器學習實戰

《TensorFlow移動端機器學習實戰》是2019年10月電子工業出版社出版的圖書,作者是王眾磊、陳海波。

基本介紹

  • 中文名:TensorFlow移動端機器學習實戰
  • 作者:王眾磊、陳海波
  • 出版社:電子工業出版社
  • 出版時間:2019年10月
  • 頁數:272 頁
  • 定價:79 元
  • 開本:16 開
  • ISBN:9787121374265
內容簡介,目錄,

內容簡介

TensorFlow已經成為機器學習的流行框架和工業屆標準,早期的TensorFlow以雲端和數據中心中的機器學習為主,近期的一個趨勢是,逐漸向移動端和設備端轉移。推動這個趨勢的動力包括人們對機器學習理論和認知的提高、算法及技術的改進、軟體和硬體性能的提高,以及專有硬體的出現等,更主要的是,用戶的需求和越來越豐富的場景需求。現在國內移動用戶已超15億,全球移動用戶已超過51億,2019年IoT裝置數量預計將超過全球人口總數。我們相信,在未來,雲端和移動端相結合的人工智慧和設備端獨立的人工智慧套用會慢慢成為主流。作為TensorFlow的開發者和使用者,本書作者完整地講解了使用TensorFlow進行端到端開發的實例和開發技巧,同時分享了如何使用開源工具進行軟體開發的最佳工程實踐和經驗。本書提供了全方位的視角幫助讀者開啟不同的思路,即使把本書作為一本軟體開發和工程開發的書籍來讀,也會使讀者受益匪淺。

目錄

第1章 機器學習和TensorFlow簡述 1
1.1 機器學習和TensorFlow的歷史及發展現狀 1
1.1.1 人工智慧和機器學習 1
1.1.2 TensorFlow 3
1.1.3 TensorFlow Mobile 5
1.1.4 TensorFlow Lite 5
1.2 在移動設備上運行機器學習的套用 6
1.2.1 生態和現狀 7
1.2.2 從移動優先到人工智慧優先 8
1.2.3 人工智慧的發展 9
1.2.4 在移動設備上進行機器學習的難點和挑戰 9
1.2.5 TPU 10
1.3 機器學習框架 11
1.3.1 CAFFE2 11
1.3.2 Android NNAPI 12
1.3.3 CoreML 12
1.3.4 樹莓派(Raspberry Pi) 13
第2章 構建開發環境 14
2.1 開發主機和設備的選擇 14
2.2 在網路代理環境下開發 15
2.3 集成開發環境IDE 16
2.3.1 Android Studio 16
2.3.2 Visual Studio Code 16
2.3.3 其他IDE 18
2.4 構建工具Bazel 18
2.4.1 Bazel生成調試 19
2.4.2 Bazel Query命令 20
2.5 裝載TensorFlow 20
2.6 文檔 25
第3章 基於移動端的機器學習的開發方式和流程 26
3.1 開發方式和流程簡介 26
3.2 使用TPU進行訓練 28
3.3 設備端進行機器學習訓練 35
3.4 使用TensorFlow Serving最佳化TensorFlow模型 41
3.4.1 訓練和導出TensorFlow模型 42
3.4.2 使用標準TensorFlow ModelServer載入導出的模型 50
3.4.3 測試伺服器 50
3.5 TensorFlow擴展(Extended) 54
第4章 構建TensorFlow Mobile 55
4.1 TensorFlow Mobile的歷史 55
4.2 TensorFlow代碼結構 55
4.3 構建及運行 61
4.3.1 代碼的流程 67
4.3.2 代碼的依賴性 68
4.3.3 性能和代碼跟蹤 69
第5章 用TensorFlow Mobile構建機器學習套用 71
5.1 準備工作 71
5.2 圖像分類(Image Classification) 74
5.2.1 套用 74
5.2.2 模型 85
5.3 物體檢測(Object Detection) 87
5.3.1 套用 87
5.3.2 模型 92
5.4 時尚渲染(Stylization) 95
5.4.1 套用 95
5.4.2 模型 96
5.5 聲音識別(Speech Recognization) 96
5.5.1 套用 96
5.5.2 模型 99
第6章 TensorFlow Lite的架構 101
6.1 模型格式 102
6.1.1 Protocol Buffer 102
6.1.2 FlatBuffers 105
6.1.3 模型結構 112
6.1.4 轉換器(Toco) 113
6.1.5 解析器(Interpreter) 119
6.2 底層結構和設計 123
6.2.1 設計目標 123
6.2.2 錯誤反饋 124
6.2.3 裝載模型 125
6.2.4 運行模型 126
6.2.5 定製演運算元(CUSTOM Ops) 128
6.2.6 定製核心 132
6.3 工具 133
6.3.1 圖像標註(label_image) 133
6.3.2 最小集成(Minimal) 143
6.3.3 Graphviz 143
6.3.4 模型評效 148
第7章 用TensorFlow Lite構建機器學習套用 151
7.1 模型設計 151
7.1.1 使用預先訓練的模型 151
7.1.2 重新訓練 152
7.1.3 使用瓶頸(Bottleneck) 154
7.2 開發套用 158
7.2.1 程式接口 158
7.2.2 執行緒和性能 162
7.2.3 模型最佳化 163
7.3 TensorFlow Lite的套用 170
7.3.1 聲音識別 173
7.3.2 圖像識別 177
7.4 TensorFlow Lite使用GPU 178
7.4.1 GPU與CPU性能比較 178
7.4.2 開發GPU代理(Delegate) 178
7.5 訓練模型 182
7.5.1 仿真器 183
7.5.2 構建執行檔案 183
第8章 移動端的機器學習開發 186
8.1 其他設備的支持 186
8.1.1 在iOS上運行TensorFlow的套用 186
8.1.2 在樹莓派上運行TensorFlow 189
8.2 設計和最佳化模型 190
8.2.1 模型大小 191
8.2.2 運行速度 192
8.2.3 可視化模型 196
8.2.4 執行緒 196
8.2.5 二進制檔案大小 197
8.2.6 重新訓練移動數據 197
8.2.7 最佳化模型載入 198
8.2.8 保護模型檔案 198
8.2.9 量化計算 199
8.2.10 使用量化計算 202
8.3 設計機器學習應用程式要點 207
第9章 TensorFlow的硬體加速 209
9.1 神經網路接口 209
9.1.1 了解Neural Networks API運行時 210
9.1.2 Neural Networks API編程模型 211
9.1.3 NNAPI 實現的實例 213
9.2 硬體加速 222
9.2.1 高通網路處理器 223
9.2.2 華為HiAI Engine 229
9.2.3 簡要比較 235
9.2.4 開放式神經網路交換格式 236
第10章 機器學習套用框架 237
10.1 ML Kit 237
10.1.1 面部識別(Face Detection) 242
10.1.2 文本識別 247
10.1.3 條形碼識別 248
10.2 聯合學習(Federated Learning) 248
第11章 基於移動設備的機器學習的未來 252
11.1 TensorFlow 2.0和路線圖 252
11.1.1 更簡單的開發模型 253
11.1.2 更可靠的跨平台的模型發布 254
11.1.3 TensorFlow Lite 254
11.1.4 TensorFlow 1.0 和TensorFlow 2.0的不同 255
11.2 人工智慧的發展方向 255
11.2.1 提高人工智慧的可解釋性 255
11.2.2 貢獻社會 256
11.2.3 改善社會 258,
第1章 機器學習和TensorFlow簡述 1
1.1 機器學習和TensorFlow的歷史及發展現狀 1
1.1.1 人工智慧和機器學習 1
1.1.2 TensorFlow 3
1.1.3 TensorFlow Mobile 5
1.1.4 TensorFlow Lite 5
1.2 在移動設備上運行機器學習的套用 6
1.2.1 生態和現狀 7
1.2.2 從移動優先到人工智慧優先 8
1.2.3 人工智慧的發展 9
1.2.4 在移動設備上進行機器學習的難點和挑戰 9
1.2.5 TPU 10
1.3 機器學習框架 11
1.3.1 CAFFE2 11
1.3.2 Android NNAPI 12
1.3.3 CoreML 12
1.3.4 樹莓派(Raspberry Pi) 13
第2章 構建開發環境 14
2.1 開發主機和設備的選擇 14
2.2 在網路代理環境下開發 15
2.3 集成開發環境IDE 16
2.3.1 Android Studio 16
2.3.2 Visual Studio Code 16
2.3.3 其他IDE 18
2.4 構建工具Bazel 18
2.4.1 Bazel生成調試 19
2.4.2 Bazel Query命令 20
2.5 裝載TensorFlow 20
2.6 文檔 25
第3章 基於移動端的機器學習的開發方式和流程 26
3.1 開發方式和流程簡介 26
3.2 使用TPU進行訓練 28
3.3 設備端進行機器學習訓練 35
3.4 使用TensorFlow Serving最佳化TensorFlow模型 41
3.4.1 訓練和導出TensorFlow模型 42
3.4.2 使用標準TensorFlow ModelServer載入導出的模型 50
3.4.3 測試伺服器 50
3.5 TensorFlow擴展(Extended) 54
第4章 構建TensorFlow Mobile 55
4.1 TensorFlow Mobile的歷史 55
4.2 TensorFlow代碼結構 55
4.3 構建及運行 61
4.3.1 代碼的流程 67
4.3.2 代碼的依賴性 68
4.3.3 性能和代碼跟蹤 69
第5章 用TensorFlow Mobile構建機器學習套用 71
5.1 準備工作 71
5.2 圖像分類(Image Classification) 74
5.2.1 套用 74
5.2.2 模型 85
5.3 物體檢測(Object Detection) 87
5.3.1 套用 87
5.3.2 模型 92
5.4 時尚渲染(Stylization) 95
5.4.1 套用 95
5.4.2 模型 96
5.5 聲音識別(Speech Recognization) 96
5.5.1 套用 96
5.5.2 模型 99
第6章 TensorFlow Lite的架構 101
6.1 模型格式 102
6.1.1 Protocol Buffer 102
6.1.2 FlatBuffers 105
6.1.3 模型結構 112
6.1.4 轉換器(Toco) 113
6.1.5 解析器(Interpreter) 119
6.2 底層結構和設計 123
6.2.1 設計目標 123
6.2.2 錯誤反饋 124
6.2.3 裝載模型 125
6.2.4 運行模型 126
6.2.5 定製演運算元(CUSTOM Ops) 128
6.2.6 定製核心 132
6.3 工具 133
6.3.1 圖像標註(label_image) 133
6.3.2 最小集成(Minimal) 143
6.3.3 Graphviz 143
6.3.4 模型評效 148
第7章 用TensorFlow Lite構建機器學習套用 151
7.1 模型設計 151
7.1.1 使用預先訓練的模型 151
7.1.2 重新訓練 152
7.1.3 使用瓶頸(Bottleneck) 154
7.2 開發套用 158
7.2.1 程式接口 158
7.2.2 執行緒和性能 162
7.2.3 模型最佳化 163
7.3 TensorFlow Lite的套用 170
7.3.1 聲音識別 173
7.3.2 圖像識別 177
7.4 TensorFlow Lite使用GPU 178
7.4.1 GPU與CPU性能比較 178
7.4.2 開發GPU代理(Delegate) 178
7.5 訓練模型 182
7.5.1 仿真器 183
7.5.2 構建執行檔案 183
第8章 移動端的機器學習開發 186
8.1 其他設備的支持 186
8.1.1 在iOS上運行TensorFlow的套用 186
8.1.2 在樹莓派上運行TensorFlow 189
8.2 設計和最佳化模型 190
8.2.1 模型大小 191
8.2.2 運行速度 192
8.2.3 可視化模型 196
8.2.4 執行緒 196
8.2.5 二進制檔案大小 197
8.2.6 重新訓練移動數據 197
8.2.7 最佳化模型載入 198
8.2.8 保護模型檔案 198
8.2.9 量化計算 199
8.2.10 使用量化計算 202
8.3 設計機器學習應用程式要點 207
第9章 TensorFlow的硬體加速 209
9.1 神經網路接口 209
9.1.1 了解Neural Networks API運行時 210
9.1.2 Neural Networks API編程模型 211
9.1.3 NNAPI 實現的實例 213
9.2 硬體加速 222
9.2.1 高通網路處理器 223
9.2.2 華為HiAI Engine 229
9.2.3 簡要比較 235
9.2.4 開放式神經網路交換格式 236
第10章 機器學習套用框架 237
10.1 ML Kit 237
10.1.1 面部識別(Face Detection) 242
10.1.2 文本識別 247
10.1.3 條形碼識別 248
10.2 聯合學習(Federated Learning) 248
第11章 基於移動設備的機器學習的未來 252
11.1 TensorFlow 2.0和路線圖 252
11.1.1 更簡單的開發模型 253
11.1.2 更可靠的跨平台的模型發布 254
11.1.3 TensorFlow Lite 254
11.1.4 TensorFlow 1.0 和TensorFlow 2.0的不同 255
11.2 人工智慧的發展方向 255
11.2.1 提高人工智慧的可解釋性 255
11.2.2 貢獻社會 256
11.2.3 改善社會 258

相關詞條

熱門詞條

聯絡我們