流程圖
步驟一:模型準(zhǔn)備
在部署邊緣服務(wù)前,您需要準(zhǔn)備配套的模型。針對本示例,指導(dǎo)用戶使用ModelArts預(yù)置算法訓(xùn)練模型。
1、進入ModelArts的AI Gallery。
2、在AI Gallery中,下載dataset_mask_detection_500數(shù)據(jù)集。
在數(shù)據(jù)集詳情頁,單擊“下載”,根據(jù)頁面指導(dǎo),將數(shù)據(jù)集下載至OBS路徑下(后續(xù)創(chuàng)建數(shù)據(jù)集會使用該OBS地址)。其中,目標(biāo)區(qū)域與ModelArts所在區(qū)域一致。
數(shù)據(jù)集啟動下載后,需要一段時間,請耐心等待,您也可以前往“我的Gallery > 我的資產(chǎn) > 數(shù)據(jù) > 我的下載”,查看下載進度。
3、創(chuàng)建并發(fā)布數(shù)據(jù)集。
進入ModelArts管理控制臺,選擇“數(shù)據(jù)管理 > 數(shù)據(jù)集(舊版)”,單擊“創(chuàng)建數(shù)據(jù)集”,類型選擇“物體檢測”,使用上一步中的OBS路徑作為“數(shù)據(jù)集輸入位置”,“數(shù)據(jù)集輸出位置”指定為一個空目錄。
數(shù)據(jù)集創(chuàng)建完成后,當(dāng)數(shù)據(jù)集詳情中顯示500張圖片已標(biāo)注后,執(zhí)行發(fā)布數(shù)據(jù)集的操作。注意一點,需開啟數(shù)據(jù)切分功能,并將訓(xùn)練集比例設(shè)置為“0.8”。
4、訂閱預(yù)置算法。
在AI Gallery中,訂閱物體檢測YOLOv3_ResNet18算法,根據(jù)界面提示訂閱此算法。
5、使用預(yù)置算法和數(shù)據(jù)集創(chuàng)建訓(xùn)練作業(yè)。
使用3的數(shù)據(jù)集和4的算法,創(chuàng)建訓(xùn)練作業(yè)。
6、模型轉(zhuǎn)換和創(chuàng)建AI應(yīng)用。
訓(xùn)練后得到的模型并不符合Atlas 500要求,需轉(zhuǎn)換成om格式后再導(dǎo)入ModelArts。
執(zhí)行模型轉(zhuǎn)換和創(chuàng)建AI應(yīng)用時,請參考“物體檢測YOLOv3_ResNet18”算法詳情頁的描述,根據(jù)“Ascend310推理”的內(nèi)容選擇模型和參數(shù)設(shè)置。
步驟二:在IEF中注冊并納管Atlas 500
將您的Atlas 500設(shè)備注冊并納管至華為云IEF服務(wù)中,納管后,可直接在ModelArts中完成模型部署。
1、注冊邊緣節(jié)點。
a. 登錄IEF管理控制臺。
b. 選擇左側(cè)導(dǎo)航欄的“邊緣資源 > 邊緣節(jié)點”,單擊頁面右上角的“注冊邊緣節(jié)點”。
c. 配置邊緣節(jié)點基本信息。
?名稱:邊緣節(jié)點的名稱。
?標(biāo)簽:標(biāo)簽可用于對資源進行標(biāo)記,方便分類管理。如果您需要使用同一標(biāo)簽標(biāo)識多種云資源,即所有服務(wù)均可在標(biāo)簽輸入框下拉選擇同一標(biāo)簽,建議在TMS服務(wù)中創(chuàng)建預(yù)定義標(biāo)簽。
?AI加速卡:選擇“華為AI加速卡”。
?綁定設(shè)備:為邊緣節(jié)點綁定邊緣設(shè)備。設(shè)備在注冊邊緣節(jié)點后仍然可以綁定。
?是否啟用docker:啟用后可以支持部署容器應(yīng)用。
?監(jiān)聽地址:配置邊緣節(jié)點上MQTT Broker的監(jiān)聽地址,可以選擇網(wǎng)卡或IP。
當(dāng)前支持配置邊緣節(jié)點的系統(tǒng)日志和應(yīng)用日志。
?系統(tǒng)日志:邊緣節(jié)點上IEF軟件(如edge-core、edge-logger和edge-monitor等)產(chǎn)生的日志。
?應(yīng)用日志:邊緣節(jié)點上部署的應(yīng)用所產(chǎn)生的日志。
系統(tǒng)日志和應(yīng)用日志需要配置如下幾個參數(shù):
?日志文件大小:日志文件大小限制,單位MB,默認(rèn)50,取值范圍10-1000。某個日志文件如果達(dá)到大小限制,則會轉(zhuǎn)儲。系統(tǒng)日志保存在邊緣節(jié)點“/var/IEF/sys/log/”目錄下,然后轉(zhuǎn)儲到AOM;應(yīng)用日志會將容器的標(biāo)準(zhǔn)輸出和掛載到邊緣節(jié)點“/var/IEF/app/log”的日志轉(zhuǎn)儲到AOM。
?滾動日志周期:日志轉(zhuǎn)儲周期,可選項:daily,weekly,monthly,yearly。日志文件大小和滾動日志周期是同時生效的,滿足任何一個條件都會進行日志轉(zhuǎn)儲。
?滾動日志數(shù)量:日志文件轉(zhuǎn)儲個數(shù),默認(rèn)5,取值范圍1-10。邊緣節(jié)點保存的轉(zhuǎn)儲日志數(shù)量如果達(dá)到限制,則會刪除最老的那個轉(zhuǎn)儲文件。
?是否開啟云端日志:您可以通過開關(guān)控制是否上傳日志到AOM服務(wù),開啟之后您可以在AOM中查看日志,具體請參見在AOM查看日志。
?云端日志級別:系統(tǒng)日志的可選項為:error,warning,info,debug。日志級別配置不同,上傳的日志內(nèi)容也不相同,error,warning,info,debug表示上傳不同的日志級別。
d. 單擊頁面右下角的“注冊”,下載配置文件,在后續(xù)2時將用到這些。
e. 單擊“完成”。
您可以看到邊緣節(jié)點的狀態(tài)為“未納管”,這是因為還未納管邊緣節(jié)點,請參見2納管節(jié)點。
2、納管Atlas 500智能小站。
a. 以admin用戶登錄智能小站后臺,檢查DNS服務(wù)器域名解析是否正常。
?切換至develop模式,輸入root用戶的密碼。
?嘗試ping華為云IEF的服務(wù)地址,觀察域名是否能夠解析。
ping ief-edgeaccess.cn-south-1.myhuaweicloud.com
如果顯示如下,則說明無法解析。
執(zhí)行如下命令,將公網(wǎng)的DNS服務(wù)器IP地址(例如114.114.114.114)加入resolv.conf。
vi /etc/resolv.conf
b. 登錄智能小站的WebUI,WebUI地址為https://{hostIP}。
hostIP為智能小站的IP地址。
c. 選擇頂側(cè)導(dǎo)航欄“維護”,單擊頁面左側(cè)的“網(wǎng)管注冊”。
d. 選擇網(wǎng)管模式為“華為云智能邊緣平臺IEF管理”,并上傳1.d下載的配置文件。
e. 單擊“保存”,等待智能小站被納管到IEF平臺。
在IEF控制臺查看節(jié)點詳情中的當(dāng)前狀態(tài)。當(dāng)前狀態(tài)為“運行中”表示納管成功。
步驟三:將AI應(yīng)用部署為邊緣服務(wù)
1、登錄ModelArts管理控制臺,在左側(cè)菜單欄中選擇“部署上線>邊緣服務(wù)”,在邊緣服務(wù)列表中,單擊“部署”進入“部署”頁面。
2、在“部署”頁面中,選擇對應(yīng)的AI應(yīng)用及其版本。選擇“計算節(jié)點規(guī)格”和“邊緣節(jié)點”。
?“計算節(jié)點規(guī)格”:選擇“ARM:3 核 3 GiB Ascend: 1 * Ascend 310”。
?“邊緣節(jié)點”:單擊“添加”,在彈出的“添加節(jié)點”對話框中,選擇在IEF中納管的Atlas 500節(jié)點,然后單擊“確定”。若添加節(jié)點后,提示“請先完成:升級C32固件”,請參考本文檔中的常見問題:升級Atlas 500固件升級固件。
3、單擊“立即創(chuàng)建”,完成邊緣服務(wù)的部署操作。
系統(tǒng)自動進入“邊緣服務(wù)”列表,新部署的邊緣服務(wù)將展現(xiàn)的列表中。服務(wù)部署需要耗費一些時間,本示例選用的Atlas 500部署時需耗費十分鐘左右,請耐心等待。當(dāng)服務(wù)狀態(tài)變?yōu)椤斑\行中”時,表示邊緣服務(wù)已部署完成,您可以單擊服務(wù)名稱進入服務(wù)詳情頁。
“運行中”的服務(wù),可以在“節(jié)點信息”中獲得一個URL,該URL為模型訪問、推理、預(yù)測接口。同時,此邊緣服務(wù)處于“運行中”時,表示您的Atlas 500已具備此模型的AI能力。
步驟四:查看推理結(jié)果
ModelArts邊緣服務(wù)部署完成后,可以通過postman發(fā)送http請求,查看推理結(jié)果。
1、下載Postman軟件并安裝,您可以直接在Chrome瀏覽器添加Postman擴展程序(也可使用其它支持發(fā)送post請求的軟件)。
2、打開Postman。
3、在Postman界面填寫參數(shù),以圖像分類舉例說明。
?選擇POST任務(wù),將邊緣節(jié)點的調(diào)用地址(即步驟三:將AI應(yīng)用部署為邊緣服務(wù)步驟完成后獲得的URL)復(fù)制到POST后面的方框。
?在Body頁簽,根據(jù)模型的輸入?yún)?shù)不同,可分為2種類型:文件輸入、文本輸入。本示例的圖像分類模型為文件輸入。
選擇“form-data”。在“KEY”值填寫模型的入?yún)?,比如本例中預(yù)測圖片的參數(shù)為“images”。然后在“VALUE”值,選擇文件,上傳一張待預(yù)測圖片(當(dāng)前僅支持單張圖片預(yù)測)。
4、參數(shù)填寫完成,單擊“Send”發(fā)送請求,結(jié)果會在Response下的對話框里顯示。
文件輸入形式的預(yù)測結(jié)果如下圖所示,返回結(jié)果的字段值根據(jù)不同模型可能有所不同。