全志V853的NPU的demo试玩

Posted 神棍地海棠

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了全志V853的NPU的demo试玩相关的知识,希望对你有一定的参考价值。

一、Tina Linux 5.0编译

(一)下载源码

V853的Tina Linux 5.0 SDK源码在全志客服服务平台 下载即可,这个要绝对表扬,平台上D1、V853、XR806的芯片相关SDK等资料全部直接可以下载。

官方V853 SDK使用的kernel是4.9,比D1的5.4 kernel版本低点,问了大佬,大约4.9上V853板子的驱动完善。

按照官方下载文档,一步步走即可,要注意的是中间不要切换用户,SSH key-gen获得的密钥放在跟后续repo操作用户不同的目录下,导致repo失败。

(二)源码编译

Tina Linux 5.0 SDK源码编译有2中方式,一种常规Linux编译,另外一种buildroot方式,本人直接选择Linux(openWRT)方式。从源码到img固件,需要二部分配置,一块是Linux(openWRT)系统相关工具配置,另外一部分是Tina 5.0相关功能的配置。本人采取如下步骤

1、编译环境设置;

root@EliteDesk:/media/tina-v853$ source build/envsetup.sh
NOTE: The SDK(/media/tina-v853) was successfully loaded
load openwrt... ok
Please run lunch next for openwrt.
load buildroot,bsp...ok
Please run ./build.sh config next for buildroot,bsp.

2、选择编译方案;

root@EliteDesk:/media/tina-v853$ lunch

Youre building on Linux

Lunch menu... pick a combo:
     1  v853-vision-tina
Which would you like? [Default v853-vision]: 1
Jump to longan autoconfig
/media/tina-v853/build.sh autoconfig -o openwrt -i v853 -b vision               -n default
========ACTION List: mk_autoconfig -o openwrt -i v853 -b vision -n default;========
options :
INFO: Prepare toolchain ...
INFO: kernel defconfig: generate /media/tina-v853/kernel/linux-4.9/.config by /media/tina-v853/device/config/chips/v853/configs/visi                                                                     on/linux-4.9/config-4.9
INFO: Prepare toolchain ...
make: Entering directory /media/tina-v853/kernel/linux-4.9
*** Default configuration is based on ../../../../../device/config/chips/v853/configs/vision/linux-4.9/config-4.9
#
# configuration written to .config
#
make: Leaving directory /media/tina-v853/kernel/linux-4.9
INFO: clean buildserver
INFO: prepare_buildserver

3、Tina系统配置;

因为第二章是NPU相关功能使用,所以在第三步将NPU扩展包安装还有配置也放进来了。

将V853 NPU扩展包下载后放在Tina-V853目录下解压,如果解压有问题,基本是下载的问题,直接重新下载。

tar xvf npu_package.tar.gz

解压后的文件放在openwrt/packages/npu文件夹中:

make menuconfig将NPU相关功能加进来。

反正全部选上,后面用:

退出后保存,当然还可以选择配置Tina 5.0的其他功能,保存后退出。

4、make;

没啥好说的,这里面会有个mkImage的错误,问了很多人,后来在这个帖子里找到了答案【V853开发板试用】V853编译烧录疑难杂症汇总篇

make的时候可以看到NPU扩展包编译的情况:

最后就是编译成功:

5、pack。

PACK就是利用Tina的工具将之前make生成的文件打包,加入NPU扩展包后的img约70M,比起之前没加NPU扩展包的33M大了很多。

二、烧录

全志提供了很多种方法,本人选择的是PhoenixSuit,连上Type-C和计算机,打开PhoenixSuit待确认连接后将img烧入即可。

三、NPU功能测试

(一)Tina 5.0体验

IMG烧写完后,在PhoenixSuit上可以看到系统版本。

也可以通过ADB shell登录系统验证,比起开箱的ABD SHELL,可以明显看到Tina Linux 5.0字样,BusyBox版本也提升了。

可以看到,目录下已经有NPU扩展包的模型了,一个lenet模型,一个yolov3模型。

root@TinaLinux:/# ls /etc/models/
lenet_model.nb   yolov3_model.nb

(二)NPU使用

V853内置最大 1T 算力 NPU,必须用上,第一章已经把官方NUP扩展包加入,选了三组图片测试。

1、Kids原图:

NPU执行log:

root@TinaLinux:~# yolov3 /etc/models/yolov3_model.nb kids.jpg
[0xb6f28560]vip_init[104],
The version of Viplite is: 1.8.0-0-AW-2022-04-21
Create Neural Network: 72.49ms or 72488.49us
Start run graph [1] times...
Run the 1 time: 204.67ms or 204672.98us
vip run network execution time:
Total   205.50ms or 205502.34us
Average 205.50ms or 205502.34us
data_format=2 buff_size=43095
data_format=2 buff_size=172380
data_format=2 buff_size=689520
person  99% 274 413 70 415
person  99% 153 309 106 415
person  99% 96 206 31 415
person  95% 2 141 71 415
person  86% 0 87 23 339

输出结果,很优秀:

2、cars原图

执行过程:

root@TinaLinux:~# yolov3 /etc/models/yolov3_model.nb cars.jpg
[0xb6f62560]vip_init[104],
The version of Viplite is: 1.8.0-0-AW-2022-04-21
Create Neural Network: 71.73ms or 71734.62us
Start run graph [1] times...
Run the 1 time: 204.71ms or 204714.50us
vip run network execution time:
Total   205.67ms or 205669.88us
Average 205.67ms or 205669.88us
data_format=2 buff_size=43095
data_format=2 buff_size=172380
data_format=2 buff_size=689520
car  100% 65 195 59 160
car  99% 23 154 185 298
car  99% 71 227 223 363
car  99% 204 343 83 240
car  97% 0 155 117 257
car  97% 349 415 175 294
car  92% 132 307 271 411
car  92% 0 49 13 107
car  88% 280 410 47 149
car  81% 19 123 3 83

识别结果:

3、人脸识别

原图:

执行过程:

root@TinaLinux:~# yolov3 /etc/models/yolov3_model.nb people.jpg
[0xb6f8b560]vip_init[104],
The version of Viplite is: 1.8.0-0-AW-2022-04-21
Create Neural Network: 71.99ms or 71992.21us
Start run graph [1] times...
Run the 1 time: 204.73ms or 204726.08us
vip run network execution time:
Total   205.66ms or 205664.12us
Average 205.66ms or 205664.12us
data_format=2 buff_size=43095
data_format=2 buff_size=172380
data_format=2 buff_size=689520
person  100% 107 263 33 231
person  100% 239 414 138 415
person  100% 98 172 121 240
person  99% 279 382 0 158
person  99% 0 95 107 415
person  95% 307 415 28 382
person  94% 80 277 217 415
person  93% 24 122 235 412
person  92% 164 268 0 143
person  83% 6 109 4 148

识别结果:


原文链接:https://bbs.aw-ol.com/topic/2013/

以上是关于全志V853的NPU的demo试玩的主要内容,如果未能解决你的问题,请参考以下文章

全志V853平台Camera模块开发框架详解

详解全志V853上的ARM A7和RISC-V E907之间的通信方式

一文带你看懂全志V853开发板原理图

全志V853芯片适配双目GC2053的操作步骤

全志V853芯片 在Tina下RISC-V核E907启动方式的选择

仅用5000行代码,在全志V853上AI渲染出一亿幅山水画