本文旨在為已購買IVP02E盒子的用戶提供設(shè)備端的部署指南,使用此指南的前提:在開發(fā)系統(tǒng)上已安裝搭建好相應(yīng)的框架;已完成模型的處理,包括:模型量化、模型轉(zhuǎn)換等;且已完成代碼工程的編譯,并通過相應(yīng)框架生成設(shè)備端適配的可執(zhí)行程序,具體的操作流程請參考相應(yīng)的《開發(fā)環(huán)境搭建指南》完成系統(tǒng)環(huán)境搭建。
開發(fā)環(huán)境:
- 操作系統(tǒng)及架構(gòu):Ubuntu 18.04 x86_64
- 內(nèi)存:大于4G
- 儲存空間:大于10G
- 系統(tǒng)語言:en_US.UTF-8(MindStudio)
- 編譯器:g++或aarch64-linux-gnu-g++
- python及依賴的庫:python3.7.5
- 邊緣計算盒子型號:IVP02E
聲明——IVP02E內(nèi)包含NNN以及SVP_NNN兩個算力核,適配昇騰以及SVP架構(gòu),架構(gòu)圖如下:
現(xiàn)在開始進(jìn)行設(shè)備端環(huán)境部署!Follow me~
環(huán)境部署步驟
步驟1:安裝CH340驅(qū)動;
步驟2:設(shè)備端插入網(wǎng)線、電源線、且通過Type-C線連接電腦;
步驟3:連接后,要在設(shè)備管理器查看是否連接成功,并記錄端口號
步驟4:通過串口工具連接設(shè)備端,可使用MobaXterm、Xshell等工具,選擇端口號,bps為115200;
步驟5:連接設(shè)備端后,執(zhí)行命令加載設(shè)備端驅(qū)動及ko文件,./insmod.sh以及./init.sh;
步驟6:根據(jù)連接的網(wǎng)口配置ip地址以及網(wǎng)關(guān)地址
ifconfig eth0 xxx.xxx.xxx.xxx netmask 255.255.255.0 up ?// ip地址,請自行填入
執(zhí)行route命令,進(jìn)行網(wǎng)關(guān)配置
route add default gw xxx.xxx.xxx.xxx ?// 網(wǎng)關(guān)地址,請自行填入
配置完畢后,需要ping通本機(jī)的ip;
步驟7:yolov5網(wǎng)絡(luò)模型需要開發(fā)者自行準(zhǔn)備,因昇騰框架暫不支持pt模型的轉(zhuǎn)換,所以需要開發(fā)者下載yolov5-master并通過腳本把pt模型轉(zhuǎn)換為onnx模型;
參考命令:python3.7.5 models/export.py --weights yolov5ts.pt --img 640 --batch 1
步驟8:通過MindStudio工具啟動ATC功能進(jìn)行模型轉(zhuǎn)換,把yolov5的onnx模型文件轉(zhuǎn)換為SoC設(shè)備端識別的離線模型(.om模型),把轉(zhuǎn)換后的模型放入工程文件中,并進(jìn)行編譯生成可執(zhí)行程序;
步驟9:需要在虛擬機(jī)以及設(shè)備端上安裝nfs,并且把編譯后的工程文件及所需的動態(tài)庫放在nfs文件夾下,之后在設(shè)備端通過nfs掛載到虛擬機(jī)的文件夾;
參考命令:
mount -t nfs ip地址:/xxx/xxx/xxx /mnt -o nolock
ip地址為您虛擬機(jī)的IP地址
/xxx/xxx/xxx為您虛擬機(jī)內(nèi)nfs文件夾掛載路徑
步驟10:聲明SDK包內(nèi)動態(tài)庫;
參考命令:
export LD_LIBRARY_PATH=/mnt/mpp/out/lib/npu
export ASCEND_AICPU_KERNEL_PATH=/mnt/mpp/out/lib/npu
聲明路徑為sdk包內(nèi)mpp文件夾下動態(tài)庫的路徑
步驟11:Yolov5樣例共有3個功能
- 0.識別輸入數(shù)據(jù)并打印相關(guān)信息
- 1.多線程識別輸入數(shù)據(jù)并打印相關(guān)信息
- 2.使用MMZ內(nèi)存進(jìn)行動態(tài)批次識別輸入數(shù)據(jù)并打印相關(guān)信息
步驟12:執(zhí)行命令進(jìn)行推理后會打印相關(guān)數(shù)據(jù);
./sample_npu_main 0
以下為輸出示例
步驟13:配置了profiling相關(guān)參數(shù)的代碼后,模型推理完成時會在工程目錄下生成一個JOB文件夾,該文件夾內(nèi)記錄了模型推理的性能指標(biāo);
步驟14:采集完成后需要執(zhí)行腳本進(jìn)行解析性能指標(biāo),需要進(jìn)入到msprof下執(zhí)行腳本,解析后會在JOB文件夾下生成sqlite文件夾,里面包含了各性能指標(biāo)的db文件;
參考命令:
python3.7.5 msprof.py import -dir /home/hyq/rootfs/npu2 /src
步驟15:得到解析坐標(biāo)后,執(zhí)行相應(yīng)命令即可導(dǎo)出指標(biāo)為可視化表格;
參考命令:
python3.7.5 msprof.py export summary -dir /home/hyq/rootfs/npu2/src --format csv
步驟16:以下為op_summary的表格示例,該表格內(nèi)記錄了每一層算子的時間、推理耗時、調(diào)用接口耗時等性能指標(biāo)。
至此,IVP02E智能視頻分析邊緣計算盒子的設(shè)備端環(huán)境部署成功!