在经过仿真测试拿到开发板后,参考官方的实机测试教程,对仿真测试模型进行了实机运行和测试,这里主要是对resnet50进行了实时运行。
一、系统镜像的烧录和配置
目前官方给的操作系统镜像主要有debian、armbian、Tina等。我使用的是debian,因为它自带了编译环境,不需要自己再重新配置,当然也可以自己搭建。编译环境的搭建主要是需要交叉编译opencv,可以选择在Ubuntu主机中进行编译搭建,然后将编译好的文件传回开发板系统中,我在Ubuntu16中参考 IF_c8wXBr的帖子成功编译了opencv4,并搭建了编译环境,需要的朋友可以试试。
(1)debian系统烧写
在烧写前,需要准备SD卡、烧写软件:Win32DiskImager、SD卡初始化软件:SDFormatter、Debian镜像。
1)使用SDFormatter对SD卡进行初始化
2)使用Win32DiskImager烧写Debian镜像
3)进入系统进行简单测试
(2)debian系统配置
这部分可以参考官方例程,非常简单。Debian初体验在配好系统后就可以通过串口调试软件操控开发板。
二、Resnet50网络模型的实机测试
在开始测试之前,需要准备程序运行所需的AIPU.bin文件,这个文件就是仿真测试时,通过修改配置文件resnet_v1_50_build.cfg文件,然后运行得到。修改内容如下:
[Common]v1_
mode=build
[Parser]
model_name = resnet_v1_50
detection_postprocess =
model_domain = image_classification
output =resnet_v1_50/predictions/Reshape_1
input_model = resnet_v1_50_frozen.pb
input = input
input_shape = [1,224,224,3]
output_dir=./
[AutoQuantizationTool]
model_name = resnet_v1_50
quantize_method = SYMMETRIC
ops_per_channel = DepthwiseConv
calibration_data = dataset.npy
calibration_label = label.npy
preprocess_mode = normalize
quant_precision=int8
reverse_rgb = False
label_id_offset = 0
[GBuilder]
outputs=aipu.bin
#profile= True
target=Z1_0701
在有了AIPU.bin文件后,就可以将该文件远程传输到开发板中,接下来我们还需要准备摄像头配置文件即官方给的zhouyi_cam,该文件主要是关于摄像头的一些配置和图片读取程序,需要在opencv环境中进行编译得到。可以参考官方例程:实时运行模型
具体步骤如下:
cd zhouyi_test #进入官方编译环境
cd build
make -j2 #第一次编译较慢
编译成功后会得到zhouyi_cam文件
也可以在Ubuntu主机中进行编译,编译速度会快很多。
在得到zhouyi_cam和AIPU后,就可以执行以下命令:
cd zhouyi_test
bash run.sh
运行结果如下:
resnet50模型的运行速度大概7帧左右,基本达到实时效果。就分享到这里。
第一次接触npu和神经网络,希望能和大家一起努力,奥里给,就是干,目前正在尝试部署model-zoom中的网络模型。