移動端AI與ML應(yīng)用開發(fā):基于iOS和Android
定 價:119 元
叢書名:O'Reilly精品圖書系列
沒有設(shè)備可以運(yùn)行的話,人工智能將一無是處。既然移動設(shè)備已成為大多數(shù)人的主要計(jì)算設(shè)備,那么移動開發(fā)人員將AI添加到他們的工具箱中便至關(guān)重要。本書是你在iOS和Android等流行移動平臺上創(chuàng)建和運(yùn)行機(jī)器學(xué)習(xí)模型的實(shí)用指南。作者首先介紹了機(jī)器學(xué)習(xí)技術(shù)和工具,然后引導(dǎo)你使用ML Kit、TensorFlow Lite和Core ML等工具編寫由常見ML模型(如計(jì)算機(jī)視覺和文本識別)驅(qū)動的Android和iOS應(yīng)用程序。如果你是一名移動端應(yīng)用開發(fā)者,本書將幫助你利用當(dāng)今的ML技術(shù)。通過閱讀本書,你將:*探索在移動設(shè)備上實(shí)施ML和AI的選項(xiàng)。*為iOS和Android創(chuàng)建ML模型。*為iOS和Android編寫ML Kit和TensorFlow Lite應(yīng)用程序,為iOS編寫Core ML/Create ML應(yīng)用程序。*為你的用例選擇合適的技術(shù)和工具,例如,基于云的推理與移動端推理、高級API與低級API。*了解移動端機(jī)器學(xué)習(xí)的隱私和倫理實(shí)踐。
【目標(biāo)讀者】如果你是一名移動端應(yīng)用開發(fā)者,喜歡編寫在Android或iOS上運(yùn)行的代碼,并且喜歡通過應(yīng)用程序或網(wǎng)站來取悅用戶,而又總是對機(jī)器學(xué)習(xí)如何融入你的工作流程感到好奇,那么本書很適合你!【為什么寫這本書】我在Google的目標(biāo)是讓所有開發(fā)者都能輕松使用 AI,揭開看似神秘的數(shù)學(xué)面紗,讓每個人都能真正地掌握人工智能。實(shí)現(xiàn)這一目標(biāo)的關(guān)鍵是讓移動開發(fā)者能夠使用機(jī)器學(xué)習(xí)來打開新的移動范式。有一個古老的笑話,說的是在互聯(lián)網(wǎng)的早期,通常的建議是不要和陌生人說話,并且你絕對不應(yīng)該乘坐一輛不熟悉的車。如今,由于范式的變化,我們愉快地召喚互聯(lián)網(wǎng)上的陌生人并上他們的車!這種行為是通過移動互聯(lián)網(wǎng)連接的計(jì)算設(shè)備實(shí)現(xiàn)的,F(xiàn)在,做事的方式已經(jīng)改變了。我們可以用計(jì)算設(shè)備來創(chuàng)造新事物,而這種創(chuàng)造力將由機(jī)器學(xué)習(xí)提供動力。我只能猜測它們可能是什么!我寫這本書是為了幫助你,看一看你所擁有的眾多選擇。你將成為可以編寫改變一切的應(yīng)用程序的人。【閱讀建議】如果你是一名想要了解機(jī)器學(xué)習(xí)的移動端應(yīng)用開發(fā)者,那么從頭閱讀即可。如果你對特定的“入門”技術(shù)(例如 ML Kit 或 Create ML)有興趣,則有專門的章節(jié)供你參考。在本書的最后,我將討論你進(jìn)一步學(xué)習(xí)時需要考慮的技術(shù)和技巧,例如使用 Firebase 的多模型托管以及你需要考慮的 AI 公平性工具。【需要了解的技術(shù)】深入研究在移動設(shè)備上使用模型之前,本書將向你簡單介紹機(jī)器學(xué)習(xí)。如果你想更深入地研究機(jī)器學(xué)習(xí),那么可以參考我的AI and Machine Learning for Coders(同樣來自 O’Reilly)一書編輯注1。本書將帶你了解一些用于移動端應(yīng)用開發(fā)的示例場景,但并非為了教你使用 Kotlin 進(jìn)行 Android 開發(fā)或使用 Swift 進(jìn)行 iOS 開發(fā)。我們會在適當(dāng)?shù)臅r候指導(dǎo)你獲取相關(guān)的學(xué)習(xí)資源。【示例代碼】可以從https://github.com/lmoroney/odmlbook下載補(bǔ)充材料(示例代碼、練習(xí)、勘誤等)。
Laurence Moroney在Google領(lǐng)導(dǎo)AI Advocacy。作為編程和機(jī)器學(xué)習(xí)行業(yè)的資深人士,Laurence撰寫了20多本書。他在DeepLearning.ai的Coursera以及哈佛大學(xué)的edX上在線教授流行課程。
前言1第1章 人工智能和機(jī)器學(xué)習(xí)簡介71.1 什么是人工智能71.2 什么是機(jī)器學(xué)習(xí)81.2.1 從傳統(tǒng)編程轉(zhuǎn)向機(jī)器學(xué)習(xí)91.2.2 機(jī)器如何學(xué)習(xí)121.2.3 機(jī)器學(xué)習(xí)與傳統(tǒng)編程的比較171.3 在移動設(shè)備上構(gòu)建和使用模型181.4 總結(jié)18第2章 計(jì)算機(jī)視覺簡介192.1 為視覺使用神經(jīng)元192.1.1 你的第一個分類器:識別衣物242.1.2 數(shù)據(jù):Fashion MNIST242.1.3 解析Fashion MNIST的模型架構(gòu)262.1.4 編寫Fashion MNIST 模型272.2 計(jì)算機(jī)視覺的遷移學(xué)習(xí)312.3 總結(jié)34第3章 ML Kit簡介353.1 在Android上構(gòu)建人臉檢測應(yīng)用程序363.1.1 第1步:使用Android Studio創(chuàng)建應(yīng)用程序363.1.2 第2步:添加和配置ML Kit383.1.3 第3步:定義用戶界面393.1.4 第4步:將圖像添加為資產(chǎn)413.1.5 第5步:使用默認(rèn)圖片加載UI413.1.6 第6步:調(diào)用人臉檢測器433.1.7 第7步:添加邊界矩形443.2 為iOS構(gòu)建人臉檢測器應(yīng)用程序463.2.1 第1步:在Xcode中創(chuàng)建項(xiàng)目463.2.2 第2步:使用 CocoaPods 和podfile473.2.3 第3步:創(chuàng)建用戶界面483.2.4 第 4步:添加應(yīng)用程序邏輯523.3 總結(jié)55第4章 Android上使用ML Kit的計(jì)算機(jī)視覺應(yīng)用程序564.1 圖像標(biāo)記和分類564.1.1 第1步:創(chuàng)建應(yīng)用程序并配置ML Kit574.1.2 第2步:創(chuàng)建用戶界面574.1.3 第3步:將圖像添加為資產(chǎn)584.1.4 第4步:將圖像加載到ImageView594.1.5 第5步:編寫按鈕處理程序代碼594.1.6 下一步624.2 物體檢測624.2.1 第1步:創(chuàng)建應(yīng)用程序并導(dǎo)入ML Kit634.2.2 第2步:創(chuàng)建活動布局 XML634.2.3 第3步:將圖像加載到 ImageView 634.2.4 第4步:設(shè)置物體檢測器選項(xiàng)644.2.5 第5步:處理按鈕交互654.2.6 第6步:繪制邊界框654.2.7 第7步:標(biāo)記物體674.3 檢測和跟蹤視頻中的物體684.3.1 探索布局694.3.2 GraphicOverlay類704.3.3 捕捉相機(jī)704.3.4 ObjectAnalyzer類714.3.5 ObjectGraphic 類724.3.6 組合在一起734.4 總結(jié)73第5章 Android上使用ML Kit的文本處理應(yīng)用程序745.1 實(shí)體提取745.1.1 創(chuàng)建應(yīng)用程序755.1.2 為活動創(chuàng)建布局765.1.3 編寫實(shí)體提取代碼775.1.4 組合在一起795.2 手寫識別和其他識別805.2.1 創(chuàng)建應(yīng)用程序815.2.2 創(chuàng)建繪圖平面825.2.3 使用ML Kit解析墨跡845.3 智能回復(fù)對話865.3.1 創(chuàng)建應(yīng)用程序865.3.2 模擬對話875.3.3 生成智能回復(fù)885.4 總結(jié)88第6章 iOS上使用ML Kit的計(jì)算機(jī)視覺應(yīng)用程序896.1 圖像標(biāo)記和分類896.1.1 第1步:在 Xcode 中創(chuàng)建應(yīng)用程序906.1.2 第2步:創(chuàng)建podfile906.1.3 第3步:設(shè)置故事板926.1.4 第4步:編輯視圖控制器代碼來使用 ML Kit936.2 使用ML Kit在iOS中進(jìn)行物體檢測966.2.1 第1步:開始976.2.2 第2步:在故事板上創(chuàng)建UI986.2.3 第3步:為注釋創(chuàng)建子視圖996.2.4 第4步:執(zhí)行物體檢測1006.2.5 第5步:處理回調(diào)函數(shù)1016.2.6 將物體檢測與圖像分類結(jié)合1036.2.7 視頻中的物體檢測和跟蹤1046.3 總結(jié)107第7章 iOS上使用ML Kit的文本處理應(yīng)用程序1087.1 實(shí)體提取1087.1.1 第1步:創(chuàng)建應(yīng)用程序并添加 ML Kit pod1097.1.2 第2步:創(chuàng)建帶有動作和輸出的故事板1107.1.3 第3步:允許視圖控制器用于文本輸入1107.1.4 第4步:初始化模型1117.1.5 第5步:從文本中提取實(shí)體1127.2 手寫識別1137.2.1 第1步:創(chuàng)建應(yīng)用程序并添加ML Kit pod1147.2.2 第2步:創(chuàng)建故事板、動作和輸出1157.2.3 第3步:筆畫、點(diǎn)和墨跡1157.2.4 第4步:捕獲用戶輸入1167.2.5 第5步:初始化模型1177.2.6 第6步:進(jìn)行墨跡識別1187.3 智能回復(fù)對話1197.3.1 第1步:創(chuàng)建應(yīng)用程序并集成 ML Kit1207.3.2 第2步:創(chuàng)建故事板、輸出和動作1207.3.3 第3步:創(chuàng)建模擬對話1217.3.4 第4步:獲取智能回復(fù)1237.4 總結(jié)124第8章 更深入:了解TensorFlow Lite1258.1 什么是 TensorFlow Lite1258.2 TensorFlow Lite 入門1278.2.1 保存模型1288.2.2 轉(zhuǎn)換模型1288.2.3 使用獨(dú)立解釋器測試模型1298.3 創(chuàng)建一個 Android應(yīng)用程序來托管TFLite1318.3.1 導(dǎo)入TFLite文件1338.3.2 編寫Kotlin代碼與模型交互1348.3.3 超越基礎(chǔ)1378.4 創(chuàng)建一個 iOS 應(yīng)用程序來托管 TFLite1408.4.1 第1步:創(chuàng)建一個基本的 iOS 應(yīng)用程序1408.4.2 第2步:將 TensorFlow Lite 添加到項(xiàng)目中1418.4.3 第3步:創(chuàng)建用戶界面1428.4.4 第4步:添加并初始化模型推理類1448.4.5 第 5 步:執(zhí)行推理1478.4.6 第6步:將模型添加到應(yīng)用程序中1498.4.7 第7步:添加UI邏輯1508.4.8 超越“Hello World”:處理圖像1528.5 探索模型優(yōu)化1558.5.1 量化1558.5.2 使用代表性數(shù)據(jù)1578.6 總結(jié)158第9章 創(chuàng)建自定義模型1599.1 使用TensorFlow Lite Model Maker創(chuàng)建模型1609.2 使用Cloud AutoML創(chuàng)建模型1649.3 使用TensorFlow和遷移學(xué)習(xí)創(chuàng)建模型1749.4 創(chuàng)建語言模型1769.5 總結(jié)180第10章 在Android中使用自定義模型18110.1 將模型橋接到 Android18110.2 從Model Maker輸出構(gòu)建圖像分類應(yīng)用程序18210.3 將......