本文旨在为已购买IVP02E盒子的用户提供设备端的部署指南,使用此指南的前提:在开发系统上已安装搭建好相应的框架;已完成模型的处理,包括:模型量化、模型转换等;且已完成代码工程的编译,并通过相应框架生成设备端适配的可执行程序,具体的操作流程请参考相应的《开发环境搭建指南》完成系统环境搭建。

 

开发环境:

 

  • 操作系统及架构:Ubuntu 18.04 x86_64
  • 内存:大于4G
  • 储存空间:大于10G
  • 系统语言:en_US.UTF-8(MindStudio)
  • 编译器:g++或aarch64-linux-gnu-g++
  • python及依赖的库:python3.7.5
  • 边缘计算盒子型号:IVP02E

 

声明——IVP02E内包含NNN以及SVP_NNN两个算力核,适配昇腾以及SVP架构,架构图如下:

 

现在开始进行设备端环境部署!Follow me~

 

环境部署步骤

 

步骤1:安装CH340驱动;
 


步骤2:设备端插入网线、电源线、且通过Type-C线连接电脑;

 


步骤3:连接后,要在设备管理器查看是否连接成功,并记录端口号
 

 

步骤4:通过串口工具连接设备端,可使用MobaXterm、Xshell等工具,选择端口号,bps为115200;
 


步骤5:连接设备端后,执行命令加载设备端驱动及ko文件,./insmod.sh以及./init.sh;
 

 

步骤6:根据连接的网口配置ip地址以及网关地址

 

ifconfig eth0 xxx.xxx.xxx.xxx netmask 255.255.255.0 up  // ip地址,请自行填入

 

执行route命令,进行网关配置

 

route add default gw xxx.xxx.xxx.xxx  // 网关地址,请自行填入

 

配置完毕后,需要ping通本机的ip;

 

 

步骤7:yolov5网络模型需要开发者自行准备,因昇腾框架暂不支持pt模型的转换,所以需要开发者下载yolov5-master并通过脚本把pt模型转换为onnx模型;

 

参考命令:python3.7.5 models/export.py --weights yolov5ts.pt --img 640 --batch 1

 


步骤8:通过MindStudio工具启动ATC功能进行模型转换,把yolov5的onnx模型文件转换为SoC设备端识别的离线模型(.om模型),把转换后的模型放入工程文件中,并进行编译生成可执行程序;
 


步骤9:需要在虚拟机以及设备端上安装nfs,并且把编译后的工程文件及所需的动态库放在nfs文件夹下,之后在设备端通过nfs挂载到虚拟机的文件夹;

 

参考命令:

mount -t nfs ip地址:/xxx/xxx/xxx /mnt -o nolock

 

ip地址为您虚拟机的IP地址


/xxx/xxx/xxx为您虚拟机内nfs文件夹挂载路径

 


步骤10:声明SDK包内动态库;

 

参考命令:

export LD_LIBRARY_PATH=/mnt/mpp/out/lib/npu

export ASCEND_AICPU_KERNEL_PATH=/mnt/mpp/out/lib/npu


声明路径为sdk包内mpp文件夹下动态库的路径
 

 

步骤11:Yolov5样例共有3个功能

 

  • 0.识别输入数据并打印相关信息
  • 1.多线程识别输入数据并打印相关信息
  • 2.使用MMZ内存进行动态批次识别输入数据并打印相关信息


 

步骤12:执行命令进行推理后会打印相关数据;

 

./sample_npu_main 0

 

以下为输出示例
 

 

步骤13:配置了profiling相关参数的代码后,模型推理完成时会在工程目录下生成一个JOB文件夹,该文件夹内记录了模型推理的性能指标;

 

 

步骤14:采集完成后需要执行脚本进行解析性能指标,需要进入到msprof下执行脚本,解析后会在JOB文件夹下生成sqlite文件夹,里面包含了各性能指标的db文件;

 

参考命令:

 

python3.7.5 msprof.py import -dir /home/hyq/rootfs/npu2 /src

 


步骤15:得到解析坐标后,执行相应命令即可导出指标为可视化表格;

 

参考命令:


python3.7.5 msprof.py export summary -dir /home/hyq/rootfs/npu2/src --format csv
 

 

步骤16:以下为op_summary的表格示例,该表格内记录了每一层算子的时间、推理耗时、调用接口耗时等性能指标。
 

 


至此,IVP02E智能视频分析边缘计算盒子的设备端环境部署成功!