三分钟学习NCNN算法移植

电子说

1.3w人已加入

描述

前言

本文是基于EASY EAI Nano移植NCNN部署库的方法与NCNN成功运行yolov4的Demo所做的教程。

 

   关于NCNN   

       NCNN是“腾讯优图实验室”首个开源项目,是一个为手机端极致优化的高性能神经网络前向计算框架。并在2017年7月正式开源。NCNN作为腾讯优图最“火”的开源项目之一,在设计之初便将手机端的特殊场景融入核心理念,是业界首个为移动端优化的开源神经网络推断库。能实现无第三方依赖,跨平台操作,在手机端CPU运算速度在开源框架中处于领先水平。基于该平台,开发者能够轻松将深度学习算法移植到手机端,输出高效的执行,进而产出人工智能APP,将AI技术带到用户指尖。

   NCNN功能概述   

   - 支持卷积神经网络,支持多输入和多分支结构,可计算部分分支。

   - 无任何第三方库依赖,不依赖 BLAS/NNPACK 等计算框架。

   - 纯 C++ 实现,跨平台,支持 android ios 等。

   - ARM NEON 汇编级良心优化,计算速度极快。

   - 精细的内存管理和数据结构设计,内存占用极低。

   - 支持多核并行计算加速,ARM big.LITTLE cpu 调度优化。

   - 支持基于全新低消耗的 vulkan api GPU 加速。

   - 可扩展的模型设计,支持 8bit 量化 和半精度浮点存储,可导入caffe/pytorch/mxnet/onnx/darknet/keras/tensorflow(mlir) 模型。

   - 支持直接内存零拷贝引用加载网络模型。

   - 可注册自定义层实现并扩展。

   *更多详情参考官方Github:https://github.com/Tencent/ncnn


NCNN目前应用在图像分类、风格迁移、目标检测、人脸检测等案例中,并已被多款APP使用。下面正式进入到NCNN算法移植学习吧。

一、源码包下载与编译

1. 源码下载放置到ubuntu

     NCNN相关源码可通过我们的百度网盘进行下载(已配置好编译脚本),下载链接为: 

     https://pan.baidu.com/s/1x_27sNJbjCujJZozBajq4g       提取码:dfji

    下载ncnn-master.tar.bz2源码包并移植到虚拟机里面,执行以下指令解压源码包:

$ tar xvf ncnn-master.tar.bz2

     即可得到如下所示:

算法

2. NCNN编译

     执行以下指令编译:

$ cd ncnn-master/ 
$ ./build-easyeai-nano.sh

     编译完成如下图所示:

算法

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

算法

二、Yolov4基于NCNN运

1. 例程下载放置到ubuntu

     Yolov4基于NCNN运行相关运行Demo可以通过我们的百度网盘进行下载(已配置好编译脚本),下载链接为:

     https://pan.baidu.com/s/1x_27sNJbjCujJZozBajq4g        提取码:dfji

     下载test_demo.tar.bz2源码包并移植到虚拟机里面,执行以下指令解压源码包:

$ tar xvf test_demo.tar.bz2

     得到如下图所示:

算法

2. 编译例程

     执行以下指令编译例程:

$ cd test_demo/ 
$ ./build.sh

     编译成功后结果如下所示:

算法

3. 在EASY EAI Nano执行例程

     在ubuntu推送可执行程序文件到板卡的/userdata目录:

$ adb push test-ncnn-demo-release/ /userdata

     在EASY EAI Nano板卡执行程序:

# cd /userdata/test-ncnn-demo-release/ 
# ./test-ncnn-demo test_img/test1.jpg

     执行结果如下图所示:

算法

     在ubuntu执行以下指令获取识别成功的图片:

$ adb pull /userdata/test-ncnn-demo-release/result.jpg .

     最后查看实际的效果图,到这一步就完成啦!

算法

     

后续更多教程可关注我们的哦,不定时更新各种新品及活动

算法

     关于EASY EAI NANO更多详细请前往官网了解

     EASY EAI灵眸科技 

  审核编辑:汤梓红

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分