CoreML入門用例,教你如何用手機識別雪貂和倉鼠

CoreML入門用例,教你如何用手機識別雪貂和倉鼠

當下,移動應用開發者正在利用現代化的強大工具來優化應用開發過程。他們不斷尋找令人矚目的策略,來構建更能吸引用戶使用並提供個性化體驗的交互式應用。機器學習算法,就是能夠為iOS 應用開發提供創新和驚豔的可能性的方式之一。

在2017年的Apple全球開發者大會WWDC上,發佈了名為“CoreML”的全新機器學習框架。它可以讓機器學習模型與iOS應用的集成變得更為簡單。

藉助CoreML框架,開發者只需寫幾行代碼,就可以開發出更好的移動應用,這也讓教育、健康、電商等等各商業領域的應用擁有了更好的性能。

本文我們就一起來看一看,機器學習如何通過CoreML能力影響iOS移動應用開發。

將機器學習模型運用在iOS應用開發中

CoreML框架簡化了iOS應用與機器學習模型的集成。這可以幫助應用開發者來執行用於決策和數據預測的特定類型進程。

然而,開發者在應用開發實踐中使用的需要是預訓練過的模型,才能使模型的預測更為高效。

這裡就通過一個入門級用例,來展示如何將機器學習集成到iOS移動應用中。

圖片分類用例

CoreML入門用例,教你如何用手機識別雪貂和倉鼠

下面,我們將訓練機器學習模型做“雪貂”與“倉鼠”圖片的分類。我們先創建一個名為“Image_Classification”的目錄,在這裡存儲超過1000張照片,以及“training”和“testing”兩個分目錄,用來訓練和測試模型。命名方式很關鍵,因為要根據目錄來分別進行圖片識別和篩選。

現在,請按照以下步驟操作:

1、打開Xcode並新建一個playground

2、選擇“macOS”和“Single View”選項

3、刪除所有已有內容並輸入以下代碼

之後:

1、運行這個playground

2、打開Assistant Editor

3、在界面上,將“training”目錄拖拽到顯示“Drop Images to Begin Training”提示的地方

通過上述過程,即將圖片導入了CoreML模型。

記得,上傳到目錄中的圖片應該具有相似的特徵,以便讓模型能正常工作。

一旦模型識別出圖片的特徵,便將圖片們按現有類別進行分類,在這個用例中就是“雪貂”和“倉鼠”兩類。這個過程叫做“邏輯迴歸”,並且可以很快完成。

CoreML入門用例,教你如何用手機識別雪貂和倉鼠

完成這個過程之後,會生成一個報告卡片,體現模型在兩個維度中的準確度:

1、訓練:模型的準確度

2、校驗:模型識別隨機圖片的準確度,這些圖片具有不相關的特徵且不包含在訓練過程中。

在此之下,你可以看到“Drop Images To Begin Testing”的提示。將“testing”目錄的圖片拖拽到這裡,訓練過的模型即可自動開始識別和分類這些圖片。

你可以在屏幕上看到以下內容的輸出:

樣本數量:340

樣本類別:2

準確度:98.69%

混淆矩陣(Confusion Matrix)

精度和召回(Precision & Recall)

將機器學習模型嵌入iOS應用

當你認為模型可以正確地工作,就可以將模型嵌入iOS應用了。將iPhone拍攝的畫面截圖上傳到模型中,即可識別其中的物體是雪貂還是倉鼠。打開“FerretHamsterClassifier”目錄,確認一切正常運行。

CoreML入門用例,教你如何用手機識別雪貂和倉鼠

記住,我們只是訓練了模型來識別雪貂和倉鼠。所以,如果它將你的電話或者椅子識別為雪貂或者倉鼠,也是正常的。通過上面講的過程,你可以按自己的需要,來訓練模型識別其他物體。

其他用例

與圖片分類相似,你也可以訓練機器學習模型用於圖片轉換文本、實時文本分析和其他多種不同的用途,並將模型集成入iOS應用開發。除了CoreML外,還有Create ML、NLP、Vision等其他框架,可以幫助你優化各行各業的應用開發工作。

總結

手機用戶並沒有完全意識到、或者說他們並不關注,機器學習給他們天天在設備上使用的應用帶來了怎樣的影響。但是,幾乎所有的智能手機應用都在通過不同的方式來利用機器學習的能力。

所以,iOS應用開發公司和開發者必須考慮這種現代、高效和智能的方式,藉助機器學習能力來優化移動應用開發。



分享到:


相關文章: