摘要:通過一個垃圾分類應用的開發示例,介紹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開發的基本流程通常可以歸納為幾個步驟:確定目的、準備資料、訓練模型、評估模型、部署模型,
- 確定目的
在開始AI開發之前,必須明確要分析什么?要解決什么問題?商業目的是什么?基于商業的理解,整理AI開發框架和思路,例如,影像分類、物體檢測等等,不同的專案對資料的要求,使用的AI開發手段也是不一樣的, - 準備資料
資料準備主要是指收集和預處理資料的程序,
按照確定的分析目的,有目的性的收集、整合相關資料,資料準備是AI開發的一個基礎,此時最重要的是保證獲取資料的真實可靠性,而事實上,不能一次性將所有資料都采集全,因此,在資料標注階段你可能會發現還缺少某一部分資料源,反復調整優化, - 訓練模型
俗稱“建模”,指通過分析手段、方法和技巧對準備好的資料進行探索分析,從中發現因果關系、內部聯系和業務規律,為商業目的提供決策參考,訓練模型的結果通常是一個或多個機器學習或深度學習模型,模型可以應用到新的資料中,得到預測、評價等結果,
業界主流的AI引擎有TensorFlow、Spark_MLlib、MXNet、Caffe、PyTorch、XGBoost-Sklearn、MindSpore等,大量的開發者基于主流AI引擎,開發并訓練其業務所需的模型, - 評估模型
訓練得到模型之后,整個開發程序還不算結束,需要對模型進行評估和考察,往往不能一次性獲得一個滿意的模型,需要反復的調整演算法引數、資料,不斷評估訓練生成的模型,
一些常用的指標,如準確率、召回率、AUC等,能幫助您有效的評估,最侄訓得一個滿意的模型, - 部署模型
模型的開發訓練,是基于之前的已有資料(有可能是測驗資料),而在得到一個滿意的模型之后,需要將其應用到正式的實際資料或新產生資料中,進行預測、評價、或以可視化和報表的形式把資料中的高價值資訊以精辟易懂的形式提供給決策人員,幫助其制定更加正確的商業策略,
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也安排了一場直播,歡迎感興趣的開發者預約報名參與:https://bbs.huaweicloud.com/live/cloud_live/202211081900.html
點擊關注,第一時間了解華為云新鮮技術~
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/531827.html
標籤:其他
上一篇:Dive into TensorFlow系列(1)-靜態圖運行原理
下一篇:帶你了解NLP的詞嵌入
