1.NCNN介绍
本文档说明基于EASY EAI Nano移植NCNN部署库的方法与基于NCNN成功运行yolov4的Demo。
NCNN是腾讯优图实验室首个开源项目,是一个为手机端极致优化的高性能神经网络前向计算框架。并在2017年7月正式开源。NCNN做为腾讯优图最“火”的开源项目之一,是一个为手机端极致优化的高性能神经网络前向计算框架,在设计之初便将手机端的特殊场景融入核心理念,是业界首个为移动端优化的开源神经网络推断库。能实现无第三方依赖,跨平台操作,在手机端CPU运算速度在开源框架中处于领先水平。基于该平台,开发者能够轻松将深度学习算法移植到手机端,输出高效的执行,进而产出人工智能APP,将AI技术带到用户指尖。
支持卷积神经网络,支持多输入和多分支结构,可计算部分分支
无任何第三方库依赖,不依赖 BLAS/NNPACK 等计算框架
精细的内存管理和数据结构设计,内存占用极低
支持多核并行计算加速,ARM big.LITTLE cpu 调度优化
可扩展的模型设计,支持 8bit量化和半精度浮点存储,可导入 caffe/pytorch/mxnet/onnx/darknet/keras/tensorflow(mlir) 模型
支持直接内存零拷贝引用加载网络模型
可注册自定义层实现并扩展
详情可以参考官方Github:https://github.com/Tencent/ncnn
2. 源码包下载与编译
2.1 源码下载放置到ubuntu
NCNN相关源码可以通过我们的百度网盘进行下载(已经配置好编译脚本),下载链接为:
链接:https://pan.baidu.com/s/1x_27sNJbjCujJZozBajq4g 提取码:dfji
下载ncnn-master.tar.bz2源码包并移植到虚拟机里面,执行以下指令解压源码包:
tar xvf ncnn-master.tar.bz2
得到如下图所示:

2.2 NCNN编译
执行以下指令编译:
cd ncnn-master/ ./build-easyeai-nano.sh
编译完成如下图所示:

ncnn库编译完成,生成如下图所示:

3. Yolov4基于NCNN运行
3.1 例程下载放置到ubuntu
Yolov4基于NCNN运行相关运行Demo可以通过我们的百度网盘进行下载(已经配置好编译脚本),下载链接为:
链接:https://pan.baidu.com/s/1x_27sNJbjCujJZozBajq4g 提取码:dfji
下载test_demo.tar.bz2源码包并移植到虚拟机里面,执行以下指令解压源码包:
tar xvf test_demo.tar.bz2
得到如下图所示:

3.2 编译例程
执行以下指令编译例程:
cd test_demo/ ./build.sh
编译成功后结果如下所示:

3.3 在EASY EAI Nano执行例程
在ubuntu推送可执行程序文件到板卡的/userdata目录:
adb push test-ncnn-demo-release/ /userdata
在EASY EAI Nano板卡执行程序:
sudo cd /userdata/test-ncnn-demo-release/ sudo ./test-ncnn-demo test_img/test1.jpg
执行结果如下图所示:

在ubuntu执行以下指令获取识别成功的图片:
adb pull /userdata/test-ncnn-demo-release/result.jpg .
结果图片如下所示:

审核编辑 黄宇
-
开发板
+关注
关注
25文章
6126浏览量
113420 -
rv1126
+关注
关注
0文章
115浏览量
4081
发布评论请先 登录
RV1126系列选型指南:从RV1126到RV1126B,一文看懂升级差异
基于RV1126开发板实现人脸检测方案
基于RV1126开发板实现人脸检测方案
基于RV1126开发板实现人脸识别方案
基于RV1126开发板实现人脸检测方案
基于RV1126开发板实现人脸识别方案
基于RV1126开发板网络配置方法

基于RV1126开发板移植NCNN部署库方法
评论