「NE100」是超星未來(lái)基于自研計(jì)算芯片「驚蟄R1」和全流程開發(fā)工具鏈「魯班」打造的智能計(jì)算平臺(tái)開發(fā)套件,包括完備的推理環(huán)境。其中魯班工具鏈以 docker 形式提供,完整包括剪枝、量化、編譯工具以及相應(yīng)實(shí)例。NE100 配套完整,開箱即用,無(wú)需繁瑣的安裝過(guò)程。
下面以目標(biāo)檢測(cè)模型 YOLOv5 為例,展示部署過(guò)程。
注:開發(fā)環(huán)境為Linux 系統(tǒng)的 PC 或服務(wù)器,神經(jīng)網(wǎng)絡(luò)需要導(dǎo)出為 ONNX 格式文件。
可通過(guò)標(biāo)準(zhǔn)命令加載工具鏈 docker 文件:
gunzip -c nova_development_kit.tar.gz | sudo docker load
參考用戶手冊(cè)中示例腳本啟動(dòng)容器,進(jìn)入開發(fā)環(huán)境。
基于原始模型導(dǎo)出 ONNX 文件時(shí),請(qǐng)確保網(wǎng)絡(luò)已經(jīng)處于推理模式,并且計(jì)算圖的輸入節(jié)點(diǎn)為首個(gè) CONV 算子的輸入(格式[1,C,H,W]),輸出節(jié)點(diǎn)為最后一個(gè)(組)CONV 算子的輸出,詳細(xì)信息請(qǐng)參考用戶手冊(cè)。
#1模型量化與編譯
1個(gè)API,5行代碼,輕松完成
量化工具以 ONNX 文件和部分圖片為輸入,將神經(jīng)網(wǎng)絡(luò)從 FP32 量化為 INT8 精度,目前支持 PTQ 與 QAT 功能。僅需在代碼中將量化和編譯工具導(dǎo)入并通過(guò) API 調(diào)用,即可對(duì) ONNX 模型完成量化和編譯,分別只需要1個(gè) API 和5行代碼。詳細(xì)的 API 說(shuō)明請(qǐng)參考用戶手冊(cè)。
1. 導(dǎo)入量化工具
from nquantizer import run_quantizer
2. 調(diào)用量化工具
quant_model = run_quantizer(
onnx_model,
dataloader=val_loader,
num_batches=200,
output_dir=work_dir + "/quantizer_output",
input_vars=input_vars,
3. 導(dǎo)入編譯工具
from ncompiler import run_compiler
4. 調(diào)用編譯工具
run_compiler(
input_dir=work_dir + "/quantizer_output",
output_dir=work_dir + "/compiler_output",
enable_simulator=True,
enable_profiler=True,
)
編譯后 compiler_output 目錄中的 npu.param(模型結(jié)構(gòu)描述文件)和 npu.bin(模型權(quán)重文件)是 NE100 部署時(shí)所需要的文件。
#2模型部署
接口簡(jiǎn)潔,功能豐富,快速調(diào)用NPU
為了實(shí)現(xiàn) 驚蟄R1 芯片多核 NPU 的簡(jiǎn)單高效推理與應(yīng)用開發(fā),超星未來(lái)基于 NCNN 推理框架增量開發(fā)運(yùn)行時(shí),并提供高性能加速庫(kù),滿足異構(gòu)推理的端到端優(yōu)化需求。
運(yùn)行時(shí)特別設(shè)計(jì)了 npumat, npunet 和 npuextractor 等組件,功能如下:
npumat:提供NPU使用的數(shù)據(jù)排布格式HWC,提高數(shù)據(jù)存儲(chǔ)讀取性能
npunet:提供模型不變信息的基礎(chǔ)數(shù)據(jù)結(jié)構(gòu),支持核心綁定、優(yōu)先級(jí)調(diào)度、數(shù)據(jù)導(dǎo)出、性能監(jiān)測(cè)等功能
npuextractor:提供NPU推理所需的set_input, get_output, get_time、extract等基本功能
YOLOv5 推理中前后處理部分與主流平臺(tái)上的代碼一致,應(yīng)用遷移時(shí)僅需更換 NPU 的推理代碼,包括:
1. 初始化幀數(shù)據(jù)結(jié)構(gòu)
2. 加載網(wǎng)絡(luò)結(jié)構(gòu)描述文件與網(wǎng)絡(luò)權(quán)重文件,并且配置核心綁定、數(shù)據(jù)導(dǎo)出及性能監(jiān)測(cè)等功能
3. 基于加載的模型文件和前處理后的幀數(shù)據(jù)進(jìn)行推理,提取結(jié)果用于后處理
#3模型推理
架構(gòu)高效,能耗出色,助力AI應(yīng)用落地
推理代碼經(jīng)過(guò)編譯后運(yùn)行,即可得到如下推理結(jié)果:
得益于超星未來(lái)自研平湖架構(gòu)的高效設(shè)計(jì),YOLOv5 等主流網(wǎng)絡(luò)的算力利用率均超過(guò) 70%,同時(shí)芯片整體功耗可控制在 8W 左右,有效支持各類邊緣端 AI 應(yīng)用部署。
-
神經(jīng)網(wǎng)絡(luò)
+關(guān)注
關(guān)注
42文章
4771瀏覽量
100713 -
模型
+關(guān)注
關(guān)注
1文章
3226瀏覽量
48807 -
目標(biāo)檢測(cè)
+關(guān)注
關(guān)注
0文章
209瀏覽量
15605
原文標(biāo)題:超星未來(lái) NE100 開箱體驗(yàn),15分鐘部署目標(biāo)檢測(cè)模型
文章出處:【微信號(hào):NOVAUTO,微信公眾號(hào):超星未來(lái)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論