0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

三分钟学习NCNN算法移植

ljx2016 来源:ljx2016 作者:ljx2016 2022-07-19 09:02 次阅读

前言

本文是基于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

即可得到如下所示:

pYYBAGLUzRaAUIaQAADH35EU4wM746.png

2. NCNN编译

执行以下指令编译:

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

编译完成如下图所示:

poYBAGLUzWaAPSUXAAKkz-QJcT0467.png

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

pYYBAGLUzXiAdEc2AADRO4ujIeQ676.png

二、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

得到如下图所示:

poYBAGLUzgKAd_2nAABZkQ9thPI869.png

2. 编译例程

执行以下指令编译例程:

$ cd test_demo/ 
$ ./build.sh

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

poYBAGLU0IWACFBxAAF2KyTS3jQ580.png

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

执行结果如下图所示:

poYBAGLU0T2AS8hGAABv8pDzyrY697.png

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

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

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

pYYBAGLU0ViAcVyhABCLEpgpjW4674.png

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

poYBAGLU0mWAZSFsAAs05Y_XXMo425.png

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

EASY EAI灵眸科技

审核编辑:汤梓红

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

    关注

    68

    文章

    10949

    浏览量

    213906
  • 算法
    +关注

    关注

    23

    文章

    4646

    浏览量

    93725
  • 移植
    +关注

    关注

    1

    文章

    387

    浏览量

    28314
收藏 人收藏

    相关推荐

    免费三分钟

    免费三分钟回拨电话,,绿色的,对号码有次数限制.有三分钟通话时长,,反其道而行不就又是三分钟,请各位灵活运用(见例)假如我的电话是1301309****,而我要打的电话是1386551****.把
    发表于 03-02 17:27

    让程序运行三分钟,停一分钟,循环下去,直到设置停止循环的位置

    本帖最后由 我想看看太阳 于 2022-6-9 11:52 编辑 让这个程序运行三分钟,停一分钟,循环下去,直到设置停止循环的位置,需要添加什么模块才能实现呢
    发表于 06-08 15:03

    三分钟学习NCNN算法移植

    方依赖,跨平台操作,在手机端CPU运算速度在开源框架中处于领先水平。基于该平台,开发者能够轻松将深度学习算法移植到手机端,输出高效的执行,进而产出人工智能APP,将AI技术带到用户
    发表于 07-18 18:21

    三分钟让你明白电池为什么会鼓包

    三分钟让你明白电
    发表于 11-12 08:18 7.1w次阅读

    三分钟能做什么?三分钟能让我的iPhone6s重启N次!

    苹果系统是以稳定著称,不过这位网友发来求助,称自己的iPhone6s三分钟时间重启了N次。并且拍了视频,系统为IOS10.2.1。
    发表于 02-25 10:18 2612次阅读

    小米扫地机器人台湾开售 三分钟售罄

    首批小米扫地机器人于4月6日如约在台湾地区开售,售价8895台币(约合1915元人民币),开售三分钟,5000台扫地机器人在小米台湾官网即告售罄。
    发表于 04-07 10:45 1266次阅读

    三分钟概述8类常用元器件资料下载

    电子发烧友网为你提供三分钟概述8类常用元器件资料下载的电子资料下载,更有其他相关的电路图、源代码、课件教程、中文资料、英文资料、参考设计、用户指南、解决方案等资料,希望可以帮助到广大的电子工程师们。
    发表于 03-28 08:40 6次下载
    <b class='flag-5'>三分钟</b>概述8类常用元器件资料下载

    三分钟看懂工字型功率电感外观破损的常见原因gujing

    三分钟看懂工字型功率电感外观破损的常见原因gujing  编辑:谷景电子 关于功率电感的相关问题最近给大家做了一些小科普,有关注选型的、有关于性能特点方面、以及有关于如何解决功率电感使用中温升高
    发表于 11-09 13:54 903次阅读
    <b class='flag-5'>三分钟</b>看懂工字型功率电感外观破损的常见原因gujing

    【教程】三分钟学习NCNN算法移植

    本文是基于EASY EAI Nano移植NCNN部署库的方法与NCNN成功运行yolov4的Demo所做的教程。
    的头像 发表于 07-18 14:23 1639次阅读
    【教程】<b class='flag-5'>三分钟</b><b class='flag-5'>学习</b><b class='flag-5'>NCNN</b><b class='flag-5'>算法</b><b class='flag-5'>移植</b>

    Brocade帮助Netzlink实现三分钟云服务供应

    电子发烧友网站提供《Brocade帮助Netzlink实现三分钟云服务供应.pdf》资料免费下载
    发表于 08-29 10:12 0次下载
    Brocade帮助Netzlink实现<b class='flag-5'>三分钟</b>云服务供应

    快乐解说MCU:三分钟,带你了解低功耗MCU

    快乐解说MCU:三分钟,带你了解低功耗MCU
    的头像 发表于 09-18 10:56 1488次阅读

    三分钟实现MQTT协议网关串口连接菱FX3UPLC上传腾讯云

    三分钟实现MQTT协议网关串口连接菱FX3UPLC上传腾讯云
    的头像 发表于 10-23 16:23 1152次阅读
    <b class='flag-5'>三分钟</b>实现MQTT协议网关串口连接<b class='flag-5'>三</b>菱FX3UPLC上传腾讯云

    三分钟看懂雪崩光电二极管

    三分钟看懂雪崩光电二极管
    的头像 发表于 11-23 09:09 2241次阅读
    <b class='flag-5'>三分钟</b>看懂雪崩光电二极管

    三分钟了解飞创直线电机运动模组特点、选型及应用-FCL系列

    三分钟了解飞创直线电机运动模组特点、选型及应用-FCL系列
    的头像 发表于 02-05 16:28 711次阅读
    <b class='flag-5'>三分钟</b>了解飞创直线电机运动模组特点、选型及应用-FCL系列

    Node-RED初学者教程-三分钟学习

    通过这短短三分钟的教程,你已经掌握了Node-RED的基本操作。你可以利用Node-RED的强大功能来创建更复杂的数据流和自动化任务,无论是物联网应用、API集成还是数据处理。Node-RED简化了编程过程,让开发更直观、更高效。继续探索Node-RED,你会发现更多强大且有趣的功能。
    的头像 发表于 06-27 17:09 4008次阅读
    Node-RED初学者教程-<b class='flag-5'>三分钟</b><b class='flag-5'>学习</b>