EasyEdge是百度基于Paddle Mobile研發的端計算模型生成平臺,能夠幫助深度學習開發者將自建模型快速部署到設備端,只需上傳模型,最快2分種即可生成端計算模型并獲取SDK,本文介紹EasyEdge生成端計算模型,并集成到手機APP的流程,
采用模型:基于MobileNet 的SSD模型
SSD使用一個卷積神經網路實作“端到端”的檢測:輸入為原始影像,輸出為檢測結果,無需借助外部工具或流程進行特征提取、候選框生成等,
官方開源代碼:https://github.com/PaddlePaddle/models/tree/develop/PaddleCV/ssd
采用資料集:PASCAL VOC
PASCAL VOC挑戰賽是視覺物件的分類識別和檢測的一個基準測驗,提供了檢測演算法和學習性能的標準影像注釋資料集和標準的評估系統,
PASCAL VOC圖片集包括20個目錄:
人類; 動物(鳥、貓、牛、狗、馬、羊);
交通工具(飛機、自行車、船、公共汽車、小轎車、摩托車、火車);
室內(瓶子、椅子、餐桌、盆栽植物、沙發、電視),
這些類別在label_list檔案中都有列出來,但這個檔案中多了一個類別,就是背景(background)
在AI Studio 進行訓練得到預測模型和引數:
1 EasyEdge端計算模型生成流程
進入EasyEdge主頁: ai.baidu.com/easyedge ,點擊“立即使用”即可使用平臺,
1.1上傳深度學習模型
在目錄【上傳原模型】中:
1) 填寫模型名稱
2) 依次選擇模型型別、模型框架、網路模型
3) 依次上傳網路引數檔案、網路結構檔案、模型標簽、其他組態檔(點擊左側劃線處可查看上傳要求)
對應關系如下:
網路引數檔案:mobilenet-ssd-final-model
網路結構檔案:mobilenet-ssd-final-params
模型標簽:label_list
4) 自定義分組并描述模型功能
5) 提交上傳
模型上傳成功后,可以在【我的模型】中看到上傳的模型,
1.2 生成端計算模型
成功上傳模型后,在目錄【生成端模型】中:
1) 選擇模型
2) 選擇并添加“芯片/硬體”、“作業系統”的組合,支持添加多種組合
3) 如需SDK支持離在線混合,需勾選同意EasyEdge在云端加密部署模型
4) 開始生成模型
在【我的模型】點擊模型名稱,即可查看端計算模型的生成狀態
1.3 獲取離線SDK
若某版本端計算模型已成功生成,則可點擊右側操作中的“獲取SDK”,跳轉到【SDK串列】下載Demo體驗或正式的SDK
1.4 激活離線SDK
1) 在【SDK串列】頁面下載SDK后,點擊“獲取序列號激活”,打開【序列號串列】
2) 選擇鑒權方式:如需開發APP可選擇按產品線鑒權,否則需按設備鑒權
3) 點擊“新增序列號”,填寫相關資訊
Android或iOS作業系統的SDK可以選擇按產品線激活,序列號與包名(Package Name/Bundle ID)系結:
4) 用新增的序列號激活之前下載的SDK,參考開發檔案:
Android 系統:https://ai.baidu.com/docs#/EasyEdge-Android-SDK/top
2 SDK集成到手機APP
開發平臺:Android Studio 2.3
安卓虛擬機:Genymotion 2.7.2
測驗平臺:Android 9.0
2.1 替換申請的序列號
2.2 添加依賴:
運行虛擬機如報如下錯誤:
解決辦法:
在同個build.gradle(app)頁面,android{}中添加:
splits {
abi {
enable true
reset()
include 'x86','x86_64'
universalApk true
}
}
2.3 手機測驗效果
3 意見建議
整體效果不錯,優勢在于生成模型非常快捷,集成也很方便,當然也有需要改進的地方,本次采用的物體檢測SSD模型,SDK大小在25M,如生成的SDK能夠進一步壓縮,進而能減少APP的大小,
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/5483.html
標籤:其他
上一篇:軟體研發流程
下一篇:初次走上技術管理崗位的思考總結
