­

帶你從0到1開發AI圖像分類應用

摘要:通過一個垃圾分類應用的開發示例,介紹AI Gallery在AI應用開發流程中的作用。

本文分享自華為雲社區《AI Gallery:從0到1開發AI圖像分類應用》,作者: yd_269359708 。

現如今,人工智能(AI)技術在計算機領域內,得到了越來越廣泛的重視,並在各行各業中得到應用。然而無論是AI開發的初學者,還是資深的AI開發專家,在AI 應用開發工程中,都會面臨著不小的麻煩。我們今天要介紹的AI Gallery,就是一個開放的開發者生態社區,提供了數據集、算法、模型等AI數字資產的共享,幫助開發者加速AI產品的開發與落地,保障AI開發生態鏈上各參與方高效地實現各自的商業價值。

背景知識

AI 開發基本流程

在介紹AI Gallery之前,我們先來看看一個AI應用開發的基本流程,方面後面更好的說明AI Gallery在AI 應用開發流程中能夠提供的幫助。大神請直接跳過此章。

AI開發的基本流程通常可以歸納為幾個步驟:確定目的、準備數據、訓練模型、評估模型、部署模型。

  1. 確定目的
    在開始AI開發之前,必須明確要分析什麼?要解決什麼問題?商業目的是什麼?基於商業的理解,整理AI開發框架和思路。例如,圖像分類、物體檢測等等。不同的項目對數據的要求,使用的AI開發手段也是不一樣的。
  2. 準備數據
    數據準備主要是指收集和預處理數據的過程。
    按照確定的分析目的,有目的性的收集、整合相關數據,數據準備是AI開發的一個基礎。此時最重要的是保證獲取數據的真實可靠性。而事實上,不能一次性將所有數據都採集全,因此,在數據標註階段你可能會發現還缺少某一部分數據源,反覆調整優化。
  3. 訓練模型
    俗稱「建模」,指通過分析手段、方法和技巧對準備好的數據進行探索分析,從中發現因果關係、內部聯繫和業務規律,為商業目的提供決策參考。訓練模型的結果通常是一個或多個機器學習或深度學習模型,模型可以應用到新的數據中,得到預測、評價等結果。
    業界主流的AI引擎有TensorFlow、Spark_MLlib、MXNet、Caffe、PyTorch、XGBoost-Sklearn、MindSpore等,大量的開發者基於主流AI引擎,開發並訓練其業務所需的模型。
  4. 評估模型
    訓練得到模型之後,整個開發過程還不算結束,需要對模型進行評估和考察。往往不能一次性獲得一個滿意的模型,需要反覆的調整算法參數、數據,不斷評估訓練生成的模型。
    一些常用的指標,如準確率、召回率、AUC等,能幫助您有效的評估,最終獲得一個滿意的模型。
  5. 部署模型

模型的開發訓練,是基於之前的已有數據(有可能是測試數據),而在得到一個滿意的模型之後,需要將其應用到正式的實際數據或新產生數據中,進行預測、評價、或以可視化和報表的形式把數據中的高價值信息以精闢易懂的形式提供給決策人員,幫助其制定更加正確的商業策略。

ModelArts

明白了AI 應用開發的流程,我們就可以在本地搭建環境來進行AI應用開發了。但是俗話說「工欲利其事必先利其器」,藉助成熟的AI 開發平台,能夠極大地提高我們的開發效率,縮短我們的開發周期,減少我們的開發成本。在這裡,我推薦的是華為雲的ModelArts 一站式AI開發平台。

ModelArts作為一個一站式的開發平台,能夠支撐開發者從數據到AI應用的全流程開發過程。包含數據處理、模型訓練、模型管理、模型部署等操作,並且提供分享功能,能夠在AI Gallery上與其他開發者分享模型。

ModelArts支持圖像分類、物體檢測、視頻分析、語音識別、產品推薦、異常檢測等多種AI應用場景。

AI Gallery

現在開始進入我們的主題:AI Gallery。

有AI應用開發經歷的同學,應該都有類似的感悟。縱觀AI應用的整個開發流程,從數據採集、標註,到算法模型的構建,每個環節都會產生許多可以復用的AI資產,而AI Gallery的目的之一就是充分發揮這些資產的效用,提高AI開發效率。

AI Gallery是在ModelArts的基礎上構建的開發者生態社區,提供了Notebook代碼樣例、數據集、算法、模型、Workflow等AI數字資產的共享,為高校科研機構、AI應用開發商、解決方案集成商、企業級/個人開發者等群體,提供安全、開放的共享及交易環節,加速AI資產的開發與落地,保障AI開發生態鏈上各參與方高效地實現各自的商業價值。

接下來,我將通過一個垃圾分類應用的開發示例,介紹AI Gallery在AI應用開發流程中的作用。

垃圾分類應用開發教程

準備工作

註冊華為雲賬號

首先你需要註冊一個華為雲賬號。註冊鏈接:註冊_華為帳號 (huawei.com)

註冊完成後,進入華為雲控制台,建議在北京四使用,網絡相對比較穩定。

創建OBS桶

OBS是華為雲的對象存儲服務,可以理解為一個放在雲端的硬盤,我們在使用ModelArts開發AI應用的過程中,需要利用OBS來保存開發所需的一些文件,例如訓練所需的數據集,訓練完成的模型等。

創建OBS桶。

按照頁面提示,選擇合適的規格,需要注意,桶的區域要和上一步中ModelArts使用的區域相同,我選擇的是北京四。

在後續開發的過程中,如果需要上傳大批量的數據例如訓練樣本到OBS,推薦使用OBS Browser+。OBS Browser+簡介_華為雲 (huaweicloud.com)

確定應用目的

完成上述的準備工作,我們開始正式的AI應用開發工作。根據第二章的AI開發基本流程,我們首先要確定我們開發的這個應用需要解決什麼問題。在本教程中,我們假設需要開發一個垃圾分類應用,用戶上傳垃圾的照片,我們返回垃圾所屬的分類。

選擇數據集

確定完目的,我們需要準備訓練所需的數據集。AI Gallery上提供了7.7w+的數據集,包括官方發佈的和用戶共享的數據集,覆蓋了主流的AI應用場景。

打開AI Gallery的數據集專欄,搜索垃圾分類,可以看到很多的垃圾分類相關的數據集。AI Gallery數據集專欄

我們選擇其中的一個數據集,點擊查看詳情。可以看到這個數據集是已經標註完成的,我們可以直接該數據集進行模型訓練。

點擊下載,將數據集下載到ModelArts數據集。

下載方式選擇ModelArts數據集,數據集輸出位置和輸入位置,可以選擇在OBS桶內新建一個文件夾

點擊確定,頁面會跳轉到Gallery的個人中心。(這裡下載的數據集可能沒有第一時間同步過來,可以多刷新幾次)

數據集會在後端自動下載,我們先來到ModelArts,左側導航欄選擇數據管理->數據集。等待剛剛下載數據集導入完成。

由於有些AI算法需要切分完成的數據集(將數據集切分為訓練集和驗證集),我們這裡打開數據集詳情,發佈一個新版本,在新版本中對數據集進行切分。點擊確定,等待數據集新版本發佈完成。至此,數據集準備工作就完成了。

訓練模型

選擇算法

準備完數據,我們開始進行模型訓練。由於垃圾分類在AI中屬於圖像分類的範疇,所以我們到AI Gallery的算法專欄,搜索圖像分類,選擇一個合適的算法,推薦選擇官方發佈的算法,官方會定期更新官方算法,來保證算法的效果,這裡我選擇了一個官方發佈的EfficientNetB0圖像分類算法。

AI Gallery算法專欄
圖像分類-EfficientNetB0

簡單瀏覽下該算法,發現很適合我們的垃圾分類場景。

點擊訂閱,訂閱成功後點擊前往控制台,雲服務區域選擇北京四(和上文相同的區域)。

創建訓練作業

跳轉到ModelArts控制台後,選擇算法最新的版本,創建訓練作業。

按照提示,填寫相應的信息。訓練輸入這裡我們選擇剛剛下載的數據集,訓練輸出可以在OBS桶內新建一個文件夾,超參都是用默認的不變,規格這裡可以選擇顯示免費的(可能需要排隊,不想排隊的話可以選擇收費的規格)。點擊提交,開始訓練作業。

創建AI應用

打開訓練作業詳情頁面,可以看到作業的狀態以及訓練過程中打印的日誌。等待訓練作業完成後,點擊右上角的創建AI應用的按鈕。

部署類型選擇在線服務,如果有批量服務或者邊緣服務的需求,也可以把這兩個選上。

部署模型

等AI 應用創建完成後,就來到了最後一步,模型部署。點擊剛剛創建的AI應用,選擇部署為在線服務。

因為我們這裡只是體驗下開發流程,所以可以選擇免費的規格(一小時後自動停止,且每個賬號只能部署一個免費規格的AI應用)。

待在線服務部署成功,至此,我們成功上線了一個垃圾分類。接下來我們看一下這個AI應用的效果,以及如何調用相應的API。

調用AI應用

AI應用部署成功後,ModelArts會自動生成一個API接口,供開發者調用,可以看到我們這裡是一個POST請求,請求的參數類型是file類型。返回兩個參數,表明預測的結果和每個標籤的概率。這個API接口支持AK/SK認證以及token認證,我們可以在其他項目中調用這個API接口,實現垃圾的分類識別功能。

除了API調用,ModelArts還支持網頁上在線預測,我們單擊預測,來到預測頁面,上傳一張測試圖片,單擊預測,右側就會顯示出預測結果。可以發現,我們的模型成功識別到了這是廚餘垃圾的水果果皮。

總結

相比於其他AI開發平台,華為雲ModelArts是更快的普惠AI開發平台,涉及數據標註與準備、模型訓練、模型調優、模型部署等AI開發全流程,為AI應用開發提供一站式服務。ModelArts 是可以讓開發者上手更快、訓練更快、部署更快的全流程平台。AI Gallery作為在ModelArts的基礎上構建的開發者生態社區,提供了豐富的AI應用開發所需的數據集,算法,模型。除此之外,AI Gallery還提供了社區交流的功能,大家可以在Gallery交流學習心得,同時本針對AI Gallery也安排了一場直播,歡迎感興趣的開發者預約報名參與://bbs.huaweicloud.com/live/cloud_live/202211081900.html

 

點擊關注,第一時間了解華為雲新鮮技術~