TensorFlow Lite移動端深度學習循序漸進地講解了在移動設備中使用TensorFlow Lite開發(fā)機器學習和深度學習程序的核心知識,并通過具體實例演練了各知識點的使用方法和流程。全書共9章,分別講解了人工智能開發(fā)基礎、編寫個TensorFlow Lite程序、創(chuàng)建模型、轉(zhuǎn)換模型、推斷、優(yōu)化處理、微控制器、物體檢測識別系統(tǒng)和姿勢預測器。全書簡潔而不失技術(shù)深度,內(nèi)容豐富全面,以簡明的文字介紹了復雜的案例。同時書中配有二維碼視頻,結(jié)合視頻講解可加深對相關(guān)內(nèi)容的理解,是學習TensorFlow Lite開發(fā)的實用教程。
TensorFlow Lite移動端深度學習適用于已經(jīng)了解Python語言基礎語法和TensorFlow基礎,希望進一步提高自己Python開發(fā)水平的讀者閱讀,還可以作為大中專院校和相關(guān)培訓學校的專業(yè)教程。
來自IT大廠一線研發(fā)工程師的實戰(zhàn)經(jīng)驗,詳解TensorFlow Lite機器學習和深度學習程序開發(fā)的關(guān)鍵技術(shù)。作者為浪潮云資深機器學習開發(fā)專家。
人工智能是研究、開發(fā)用于模擬、延伸和擴展人類智能的理論、方法、技術(shù)及應用系統(tǒng)的一門新的技術(shù)科學。TensorFlow Lite是一種用于設備端推斷的開源深度學習框架,可幫助開發(fā)者在移動設備、嵌入式設備和IoT設備上運行TensorFlow模型。也就是說,通過用TensorFlow Lite,可以開發(fā)出能夠在Android設備、iOS設備和IoT設備上使用的深度學習程序。
本書特色
1.內(nèi)容全面
本書詳細講解了使用TensorFlow Lite開發(fā)人工智能程序的相關(guān)知識,循序漸進地引出這些知識的使用方法和技巧,幫助讀者快速步入Python 人工智能開發(fā)高手之列。
2.實例驅(qū)動
本書采用理論加實例的講解方式,通過實例實現(xiàn)了對知識點的橫向切入和縱向比較,讓讀者有更多的實踐演練機會,并且可以從不同的方位展現(xiàn)一個知識點的用法,真正實現(xiàn)了拔高的教學效果。
3.詳解TensorFlow Lite開發(fā)流程
本書從一開始便對TensorFlow Lite開發(fā)的流程進行了詳細介紹,而且在講解中結(jié)合了多個實用性很強的數(shù)據(jù)分析項目案例,帶領讀者掌握TensorFlow Lite開發(fā)的相關(guān)知識,以解決實際工作中的問題。
4.視頻講解
本書正文的每一個二級目錄都有一個視頻來輔助讀者學習,讀者可以通過掃描旁邊的二維碼來直接觀看。
本書讀者對象
軟件開發(fā)工程師。
Python機器學習開發(fā)者。
Python深度學習開發(fā)者。
數(shù)據(jù)庫工程師和系統(tǒng)管理員。
大學及中學教育工作者。
致謝
本書在編寫過程中,得到了機械工業(yè)出版社編輯的大力支持,正是各位編輯的求實、耐心和高效工作,才使得本書能夠順利出版。另外,也十分感謝我的家人給予的巨大支持。由于編者水平有限,書中難免存在紕漏之處,誠請讀者提出寶貴意見和建議,以便修訂時加以完善。作者QQ:150649826。
后感謝您購買本書,希望本書能成為您編程路上的領航者!
編者
資深機器學習開發(fā)工程師和架構(gòu)師。現(xiàn)就職于浪潮云,專門從事大數(shù)據(jù)挖掘和通信大數(shù)據(jù)研發(fā)工作。
曾在谷歌應用市場發(fā)布多款經(jīng)典應用程序并取得不錯的銷售業(yè)績。精通Python、C#、Java等語言,并且精通Android、iOS等主流移動端和Linux底層嵌入式開發(fā)技術(shù)。
TensorFlow Lite移動端深度學習
前言
第1章 人工智能開發(fā)基礎/
1.1人工智能的基礎知識/
1.1.1人工智能介紹/
1.1.2人工智能的發(fā)展歷程/
1.1.3人工智能的兩個重要發(fā)展階段/
1.1.4和人工智能相關(guān)的幾個重要概念/
1.2機器學習/
1.2.1什么是機器學習/
1.2.2機器學習的3個發(fā)展階段/
1.2.3機器學習的分類/
1.2.4深度學習和機器學習的對比/
1.3使用Python學習人工智能開發(fā)/
1.3.1Python在人工智能方面的優(yōu)勢/
1.3.2常用的Python庫/
1.4TensorFlow開源庫/
1.4.1TensorFlow介紹/
1.4.2TensorFlow的優(yōu)勢/
1.4.3TensorFlow Lite介紹/
第2章 編寫個TensorFlow Lite程序/
2.1安裝環(huán)境要求/
2.1.1硬件要求/
2.1.2軟件要求/
2.2安裝TensorFlow /
2.2.1使用pip安裝TensorFlow/
2.2.2使用Anaconda安裝TensorFlow/
2.2.3安裝TensorFlow Lite解釋器/
2.2.4解決速度過慢的問題/
2.3準備開發(fā)工具/
2.3.1使用PyCharm開發(fā)并調(diào)試運行TensorFlow程序/
2.3.2使用Colaboratory開發(fā)并調(diào)試運行TensorFlow程序/
2.4開發(fā)TensorFlow Lite程序的流程/
2.4.1準備模型/
2.4.2轉(zhuǎn)換模型/
2.4.3使用模型進行推斷/
2.4.4優(yōu)化模型/
2.5在Android中創(chuàng)建TensorFlow Lite/
2.5.1需要安裝的工具/
2.5.2新建Android工程/
2.5.3使用JCenter中的TensorFlow Lite AAR/
2.5.4運行和測試/
第3章 創(chuàng)建模型/
3.1創(chuàng)建TensorFlow模型/
3.1.1在PyCharm環(huán)境實現(xiàn)/
3.1.2在Colaboratory環(huán)境實現(xiàn)/
3.2基于TensorFlow機器學習核心算法創(chuàng)建模型/
3.2.1線性回歸算法/
3.2.2邏輯回歸算法/
3.2.3二元決策樹算法/
3.2.4Bagging算法/
3.2.5Boosting算法/
3.2.6隨機森林算法/
3.2.7K近鄰算法/
第4章 轉(zhuǎn)換模型/
4.1TensorFlow Lite轉(zhuǎn)換器/
4.1.1轉(zhuǎn)換方式/
4.1.2將TensorFlow RNN轉(zhuǎn)換為TensorFlow Lite/
4.2將元數(shù)據(jù)添加到 TensorFlow Lite 模型/
4.2.1具有元數(shù)據(jù)格式的模型/
4.2.2使用Flatbuffers Python API添加元數(shù)據(jù)/
4.3使用TensorFlow Lite Task Library/
4.4手寫數(shù)字識別器/
4.4.1系統(tǒng)介紹/
4.4.2創(chuàng)建TensorFlow數(shù)據(jù)模型/
4.4.3將Keras模型轉(zhuǎn)換為TensorFlow Lite/
4.4.4Android手寫數(shù)字識別器/
第5章 推斷/
5.1TensorFlow Lite推斷的基本知識/
5.1.1推斷的基本步驟/
5.1.2推斷支持的平臺/
5.2運行模型/
5.2.1在Java程序中加載和運行模型/
5.2.2在 Swift程序中加載和運行模型/
5.2.3在ObjectiveC程序中加載和運行模型/
5.2.4在ObjectiveC中使用C API/
5.2.5在 C 中加載和運行模型/
5.2.6在 Python中加載和運行模型/
5.3運算符操作/
5.3.1運算符操作支持的類型/
5.3.2從TensorFlow中選擇運算符/
5.3.3自定義運算符/
5.3.4融合運算符/
5.4使用元數(shù)據(jù)進行推斷/
5.4.1元數(shù)據(jù)推斷基礎/
5.4.2使用元數(shù)據(jù)生成模型接口/
5.4.3使用TensorFlow Lite代碼生成器生成模型接口/
5.5通過Task庫集成模型/
5.5.1Task Library可以提供的內(nèi)容/
5.5.2支持的任務/
5.5.3集成圖像分類器/
5.6自定義輸入和輸出/
第6章 優(yōu)化處理/
6.1性能優(yōu)化/
6.2TensorFlow Lite委托/
6.2.1選擇委托/
6.2.2評估工具/
6.3TensorFlow Lite GPU代理/
6.3.1在Android中使用TensorFlow Lite GPU代理/
6.3.2在iOS中使用TensorFlow Lite GPU代理/
6.3.3在自己的模型上使用GPU代理/
6.4硬件加速/
6.4.1使用GPU加速的優(yōu)勢/
6.4.2Android中的硬件加速/
6.4.3iOS中的硬件加速/
6.4.4輸入/輸出緩沖器/
6.5模型優(yōu)化/
6.5.1模型量化/
6.5.2訓練后量化/
6.5.3訓練后動態(tài)范圍量化/
6.5.4訓練后整數(shù)量化/
第7章 微控制器/
7.1適用于微控制器的 TensorFlow Lite/
7.2官方示例/
7.2.1Hello World示例/
7.2.2微語音示例/
7.3C 庫/
7.3.1文件結(jié)構(gòu)/
7.3.2開始新項目/
7.3.3寫入新設備/
7.3.4構(gòu)建二進制文件/
7.3.5優(yōu)化內(nèi)核/
7.3.6生成 Arduino 庫/
第8章 物體檢測識別系統(tǒng)/
8.1系統(tǒng)介紹/
8.2準備模型/
8.2.1模型介紹/
8.2.2自定義模型/
8.3Android物體檢測識別器/
8.3.1準備工作/
8.3.2頁面布局/
8.3.3實現(xiàn)主Activity/
8.3.4物體識別界面/
8.3.5相機預覽界面拼接/
8.3.6lib_task_api方案/
8.3.7lib_interpreter方案/
8.4iOS物體檢測識別器/
8.4.1系統(tǒng)介紹/
8.4.2視圖文件/
8.4.3相機處理/
8.4.4處理TensorFlow Lite模型/
第9章 姿勢預測器/
9.1系統(tǒng)介紹/
9.2準備模型/
9.2.1身體部位監(jiān)測點說明/
9.2.2導入TensorFlow Lite模型/
9.3Android姿勢預測器/
9.3.1準備工作/
9.3.2頁面布局/
9.3.3實現(xiàn)主Activity/
9.3.4圖像處理/
9.3.5姿勢識別/