TinyML:基于TensorFlow Lite在Arduino和超低功耗微控制器上部署機(jī)器學(xué)習(xí)
定 價(jià):149 元
- 作者:[美]皮特·沃登(Pete Warden),[美]丹尼爾·西圖納亞克(Dan
- 出版時(shí)間:2020/9/1
- ISBN:9787111664222
- 出 版 社:機(jī)械工業(yè)出版社
- 中圖法分類:TP181
- 頁碼:432
- 紙張:
- 版次:
- 開本:
TinyML是指微型機(jī)器學(xué)習(xí),更準(zhǔn)確地說,TinyML是指工程師們在mW功率以下的設(shè)備上,實(shí)現(xiàn)機(jī)器學(xué)習(xí)的方法、工具和技術(shù)。TinyML將深度學(xué)習(xí)和嵌入式系統(tǒng)相結(jié)合,使得微型設(shè)備可以做出令人驚嘆的事情。作者解釋了如何訓(xùn)練足夠小以適合任何環(huán)境的模型。對于希望在嵌入式系統(tǒng)中搭建機(jī)器學(xué)習(xí)項(xiàng)目的軟件及硬件開發(fā)人員而言,本書是一個(gè)理想的指南,它將一步步地指導(dǎo)你創(chuàng)建一系列TinyML項(xiàng)目。閱讀本書無需任何機(jī)器學(xué)習(xí)或者微控制器開發(fā)經(jīng)驗(yàn)。
前言1
第1章 簡介5
1.1 嵌入式設(shè)備6
1.2 技術(shù)變遷7
第2章 入門8
2.1 本書目標(biāo)讀者8
2.2 需要的硬件8
2.3 需要的軟件10
2.4 我們希望你學(xué)到的東西10
第3章 快速了解機(jī)器學(xué)習(xí)12
3.1 什么是機(jī)器學(xué)習(xí)13
3.2 深度學(xué)習(xí)的工作流程14
3.3 小結(jié)27
第4章 TinyML之“Hello World”:創(chuàng)建和訓(xùn)練模型28
4.1 我們要?jiǎng)?chuàng)建什么29
4.2 我們的機(jī)器學(xué)習(xí)工具鏈30
4.3 創(chuàng)建我們的模型32
4.4 訓(xùn)練我們的模型43
4.5 為TensorFlow Lite轉(zhuǎn)換模型56
4.6 小結(jié)61
第5章 TinyML之“Hello World”:創(chuàng)建應(yīng)用程序62
5.1 詳解測試63
5.2 項(xiàng)目文件結(jié)構(gòu)79
5.3 詳解源文件80
5.4 小結(jié)87
第6章 TinyML之“Hello World”:部署到微控制器88
6.1 什么是微控制器88
6.2 Arduino89
6.3 SparkFun Edge98
6.4 ST Microelectronics STM32F746G Discovery套件109
6.5 小結(jié)115
第7章 喚醒詞檢測:創(chuàng)建應(yīng)用程序116
7.1 我們要?jiǎng)?chuàng)建什么117
7.2 應(yīng)用架構(gòu)118
7.3 詳解測試121
7.4 監(jiān)聽喚醒詞139
7.5 部署到微控制器143
7.6 小結(jié)164
第8章 喚醒詞檢測:訓(xùn)練模型165
8.1 訓(xùn)練我們的新模型166
8.2 在我們的項(xiàng)目中使用模型179
8.3 模型的工作方式184
8.4 使用你自己的數(shù)據(jù)訓(xùn)練194
8.5 小結(jié)198
第9章 行人檢測:創(chuàng)建應(yīng)用程序199
9.1 我們在創(chuàng)建什么200
9.2 應(yīng)用程序架構(gòu)201
9.3 詳解測試204
9.4 行人檢測210
9.5 部署到微處理器213
9.6 小結(jié)232
第10章 行人檢測:訓(xùn)練模型233
10.1 選擇機(jī)器233
10.2 配置Google Cloud Platform實(shí)例233
10.3 訓(xùn)練框架選擇240
10.4 構(gòu)建數(shù)據(jù)集241
10.5 訓(xùn)練模型241
10.6 TensorBoard243
10.7 評估模型245
10.8 將模型導(dǎo)出到TensorFlow Lite245
10.9 訓(xùn)練其他類別247
10.10 理解架構(gòu)248
10.11 小結(jié)248
第11章 魔杖:創(chuàng)建應(yīng)用程序250
11.1 我們要?jiǎng)?chuàng)建什么252
11.2 應(yīng)用程序架構(gòu)254
11.3 詳解測試255
11.4 檢測手勢264
11.5 部署到微處理器268
11.6 小結(jié)293
第12章 魔杖:訓(xùn)練模型294
12.1 訓(xùn)練模型295
12.2 模型是如何工作的303
12.3 訓(xùn)練你自己的數(shù)據(jù)311
12.4 小結(jié)315
第13章 TensorFlow Lite for Microcontrollers317
13.1 什么是TensorFlow Lite for Microcontrollers317
13.2 編譯系統(tǒng)323
13.3 支持一個(gè)新的硬件平臺331
13.4 支持一個(gè)新的IDE或新的編譯系統(tǒng)336
13.5 在項(xiàng)目和代碼庫之間整合代碼更改337
13.6 回饋開源338
13.7 支持新的硬件加速器339
13.8 理解文件格式340
13.9 將TensorFlow Lite移動(dòng)平臺算子移植到Micro347
13.10 小結(jié)350
第14章 設(shè)計(jì)你自己的TinyML應(yīng)用程序351
14.1 設(shè)計(jì)過程351
14.2 你需要微控制器還是更大的設(shè)備351
14.3 了解可行性352
14.4 站在巨人的肩膀上353
14.5 找一些相似的模型訓(xùn)練353
14.6 查看數(shù)據(jù)354
14.7 綠野仙蹤355
14.8 先可以在桌面系統(tǒng)中運(yùn)行356
第15章 優(yōu)化延遲357
15.1 首先確保你要優(yōu)化的部分很重要357
15.2 更換硬件358
15.3 改進(jìn)模型358
15.4 量化360
15.5 產(chǎn)品設(shè)計(jì)361
15.6 優(yōu)化代碼362
15.7 優(yōu)化算子363
15.8 回饋開源368
15.9 小結(jié)368
第16章 優(yōu)化功耗369
16.1 開發(fā)直覺369
16.2 測量實(shí)際功耗372
16.3 估算模型的功耗373
16.4 降低功耗373
16.5 小結(jié)375
第17章 優(yōu)化模型和二進(jìn)制文件大小376
17.1 了解系統(tǒng)限制376
17.2 估算內(nèi)存使用率376
17.3 關(guān)于不同問題的模型準(zhǔn)確率和規(guī)模的大致數(shù)字379
17.4 模型選擇380
17.5 減小可執(zhí)行文件的大小380
17.6 真正的微型模型386
17.7 小結(jié)386
第18章 調(diào)試387
18.1 訓(xùn)練與部署之間準(zhǔn)確率的損失387
18.2 數(shù)值差異389
18.3 神秘的崩潰與掛起391
18.4 小結(jié)394
第19章 將模型從TensorFlow移植到TensorFlow Lite395
19.1 了解需要什么算子395
19.2 查看Tensorflow Lite中支持的算子396
19.3 將預(yù)處理和后處理移至應(yīng)用程序代碼396
19.4 按需自己實(shí)現(xiàn)算子397
19.5 優(yōu)化算子397
19.6 小結(jié)398
第20章 隱私、安全和部署399
20.1 隱私399
20.2 安全401
20.3 部署403
20.4 小結(jié)404
第21章 了解更多405
21.1 TinyML基金會(huì)405
21.2 SIG Micro405
21.3 TensorFlow網(wǎng)站406
21.4 其他框架406
21.5 Twitter406
21.6 TinyML的朋友們406
21.7 小結(jié)407
附錄A 使用和生成Arduino庫ZIP文件409
附錄B 在Arduino上捕獲音頻411