ZYNQ7010在PYNQ环境下使用NPU加速神经网络推理
步骤一、链接ssh并上传NPU SDK
步骤二、插入NPU,并给NPU赋予权限
sudo chmod 666 /dev/sg*
步骤三、修改最大字节数
find /sys/devices/ -name max_sectors -exec sh -c 'echo 2048 > "$1"' _ {} \;
步骤四、安装依赖
sudo apt-get update && sudo apt-get install libgtk2.0-dev libjpeg-dev python-numpy python-tk python-opencv python-pip -y
步骤五、解压SDK并生效环境
tar -xvf GTISDK-Linux_armv7l_v4.5.1.0.tar.gz && cd GTISDK-Linux_armv7l_v4.5.1.0 && source SourceMe.env
期间遇到Do you wish to install xx?就输入y按Enter
步骤六、编译Demo
cd Apps/Demo/ && make
步骤七、运行Demo
./demo slideshow ../Models/2801/gti_gnet3_fc20_2801.model ../Data/Image_bmp_c20/
运行效果
平均每张图片推理花费55ms,FPS能达到接近20,这是因为ZYNQ7000系列USB接口是2.0协议,NPU的性能不能完全发挥。
注:这里更正一下,ZYNQ上部署NPU没有达到满性能的原因不只是USB协议,NPU主要加速的是卷积和池化,全连接是在CPU端进行的,所以这也是一部分局限的因素,具体后面我会测试,
附加步骤:
export DISPLAY=192.168.0.102:1.0
修改成你的电脑的xserver显示值,可以实现图片显示。