《NNIE-lite》

  趟过NNIE的小伙伴可能都知道,NNIE是有很多坑的,而且是纯C的环境,除非你有几年C的开发经验,否则阅读起来不是那么容易的,而作为算法工程师,我相信更多人和我一样擅长Python和C++,所以在把NNIE用起来还是有些费力的。而作为算法工程师,你的工作更应该 concentrate on 模型上,现在有了NNIE-lite这个项目,极大的帮助大家脱离苦海,算法工程师可以把目光聚焦在模型效果和效率上,而不用再为其他的琐事担心了,使用NNIE像用ncnn一样简单。

Key Words:NNIE、 C++、 OpenCV

Beijing, 2020

作者:RaySue

Code:https://github.com/RaySue/NNIE-lite

Agile Pioneer  

写在前面

  • 如果你有摄像头端(海思NNIE)移植算法的需求

  • 如果你更擅长于C++编程

  • 如果你擅长使用cmake构建工程

  • 恰好你喜欢用OpenCV来进行io处理,这个比起bgr来调试十分方便

  • Come on and star the repo https://github.com/RaySue/NNIE-lite

  那么 NNIE-lite 就是非常适合你的,我当时如果有NNIE-lite这样的项目,可能至少节省我一周的时间去梳理使用NNIE的逻辑。

模型部署通用步骤(ncnn、TensorRT、MNN、OpenVION…)

  1. 模型转换 :以TensorRT为例:把你的caffe或onnx模型转为.engine文件,然后就可以利用TensorRT框架使用GPU进行加速了;

  2. 数据预处理 :准备推理输入数据,如图片颜色通道排列和分离,像素数据转换成浮点数,数据归一化处理等;

  3. 模型推理 :对输入数据进行推理计算,并输出推理数据,在手写体识别例子中,输出的是预测为0~9这10个数字对应的概率值;

  4. 后处理 :对推理输出的数据进行解析,得到最终推理结果,在分割的例子中,从Tensor中解析出最终你要的各个类别的idx组成的矩阵就是分割的结果。

NNIE 介绍

  NNIE 是 Neural Network Inference Engine 的简称,是海思媒体 SoC 中专门针对神经网络特别是深度学习卷积神经网络进行加速处理的硬件单元,支持现有大部分的公开网络,如 Alexnet、VGG16、Googlenet、Resnet18、Resnet50 等分类网络,Faster R- CNN、YOLO、SSD、RFCN 等检测网络,以及 SegNet、FCN 等场景分割网络。

sample_nnie_main.c例程函数调用关系:

NNIE-lite

  NNIE-lite 是面向算法工程师打造的,可以很容易的在Hisi芯片上移植算法,验证算法的效果和效率,而不必过多关心NNIE的细节,而且也不用对C语言有太多的经验。

模型转换

  参见博客https://blog.csdn.net/racesu/article/details/107045858里面详细介绍了如何搭建模型转换的环境。

构建自己的项目 pipeline

   在工程目录的examples中有使用NNIE-lite做通用分类和通用分割的例子,每个例子都可以单独运行,main函数中就是调用的整个流程。

最后

  希望越来越多的小伙伴能够加入到 NNIE-lite,贡献你们已经跑通的demo,我会把你们的名字写在 NNIE-lite 的页面上。

附录

  • 模型推理时间比较
模型 输入数据维度 cv500 av100
MNIST 1x28x28x1 0.1 ms 0.1 ms
Yolov1 1x448x448x3 102 ms 36 ms
Yolov2 1x416x416x3 201 ms 75 ms
Yolov3 1x416x416x3 182 ms 60 ms
SSD 1x300x300x3 149 ms 53 ms
PvaNet 1x224x224x3 43 ms 16 ms
RFCN 1x800x600x3 501 ms 180 ms
SegNet 1x224x224x3 183 ms 65 ms
ENet 1x352x640x3 250 ms 92 ms
(AlexNet)FasterRCNN 1x1240x375x3 51 ms 18 ms
LSTM 16x128x20 94 ms 34 ms

参考

https://zhuanlan.zhihu.com/p/67327779
https://blog.csdn.net/ywcpig/article/details/85260752

NNIE-lite 为算法工程师而生相关推荐

  1. 算法工程师想拿百万高薪,5大维度评估竞争力,情商也很重要

    本文由小文聊AI原创,有需要的可转发分享 对于很多打工人来说,能够赚到百万年薪,简直是个天文数字,但其实可能并不是很难.如何挑战百万年薪,接着往下看! 来看看某平台的算法工程师岗位的薪资,月薪7万的都 ...

  2. 毕业月薪3万起!算法工程师九成硕博学历,腾讯成AI人才收割机

      视学算法报道   编辑:桃子 [导读]毕业时,你的月薪多少?<人工智能顶尖人才数据图鉴2022>显示,AI算法工程师应届生底薪超3万,且九成是硕博学历. 刚毕业月薪3万啥体验? 昨日, ...

  3. 我为什么从一名文科生到算法工程师

    一.我的基本情况 教育经历: 本科: 双非二本 专业: 软件工程,英语(双学位) 研究生: 双一流985硕 专业: 软件工程 实习经历:外企实习 ,岗位: 数据挖掘工程师 外语水平:通过专八.专四.四 ...

  4. cv算法工程师学习成长路线

    前言 一,计算机系统 1.1,计算机系统书籍 1.2,设计模式教程 二,编程语言 2.1,C++ 学习资料 2.2,Python 学习资料 三,数据结构与算法 3.1,数据结构与算法课程 3.2,算法 ...

  5. 在阿里AI实验室做NLP高级算法工程师是一种什么样的体验?

    最近应届生的拼抢大战的号角已经吹响.正如昨天那篇雄文,年薪25万也只是个白菜价......这让营长真心羞愧啊.....同样敲键盘的...不说也罢 绝不将小小的忧桑带入工作. 这几天,群里一直有很多小伙 ...

  6. 在非互联网公司?!算法工程师的工作内容及心得建议

    [导语]网上已经有很多在互联网公司工作的算法工程师的日常了,那么小编便来说说在咨询公司,身为算法工程师,工作是一种什么样子的体验,同时也为对咨询感兴趣的小伙伴指明点方向. 具体内容: 工作内容详解 对 ...

  7. 如何像算法工程师一样,看待这个世界?

    大数据文摘作品 作者:诸葛越来源:<未来算法>本文约2000字,建议阅读5分钟 计算世界是精巧和美妙的. 盛夏来临,又到了毕业季.每年的秋招,互联网和科技大厂的应届生薪资基本都是应届生们最 ...

  8. 如何“快”、“准”、“狠”成为优秀算法工程师

    如何"快"."准"."狠"成为优秀算法工程师 https://www.cnblogs.com/DicksonJYL/p/9713948.ht ...

  9. 在网易有道做语音算法工程师是一种怎样的体验?

    鱼羊 发自 凹非寺 量子位 报道 | 公众号 QbitAI 一个成立不到两年的团队,两个初入职场的新人,杀入顶会挑战赛能拿下怎样的成绩? 时限是,10天. 近日,全球语音顶会INTERSPEECH 2 ...

最新文章

  1. HTML里面设置文本倒影,文字倒影怎么做
  2. hive分区用2个字段有何限制_[Hive]新增字段(column)后,旧分区无法更新数据问题...
  3. 修改远程桌面连接端口
  4. 什么是断点,为什么要设置断点?断点的作用是什么?
  5. leetcode 105. 从前序与中序遍历序列构造二叉树 c语言递归解法
  6. 成员变量和局部变量的区别_Java 变量类型
  7. 豆瓣7.6,这部被低估的科幻片告诉你,通过图灵测试的AI有多可怕!
  8. Python中索引的学习笔记
  9. Helm 3 完整教程(二十二):如何设置 Chart 安装完成后提示 NOTE 信息
  10. 我的世界mod服务器详细搭建
  11. 程序员面试金典(第 6 版)
  12. 【Web前端HTML5CSS3】12-字体
  13. 骨传导耳机品牌排行榜前十名,目前最好的几款骨传导耳机推荐
  14. postman基本使用+post请求结构
  15. 项目整体管理(6个过程:制定项目章程,制定项目管理计划,指导与管理项目工作,实施整体变更控制,结束项目或阶段)
  16. 软件驻场开发是什么?有什么好处
  17. java软件开发是做什么的,干货满满!
  18. unity 见缝插针小游戏
  19. Latex Error: Misplaced alignment tab character
  20. 如何用python画雪人_pygame画雪人_函数与图形示例.py

热门文章

  1. Java FileNameFilter示例
  2. jquery 图像滑块_jQuery缩略图图像滑块– CSS,JavaScript
  3. C#重载操作符==和!=时注意问题
  4. 初学者必学教程——JQuery的简介
  5. 2021最新Java高频面试题,很适合大厂面试
  6. react+百度地图实现自定义图标
  7. CPU 漏洞补丁对内核性能影响:4.15 比 4.11 快 7-9%
  8. 解决父类加载iframe,src参数过大导致加载失败
  9. markdown这么好用的东西我才知道。。。多么不折腾的我。。。
  10. Github 是如何用 Github 撰写 Github 文档的