Skip to content

zhiliu6/nnie

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

用C++重新封装了一下NNIE的代码。把sample里面大部分的那坨垃圾代码全部弃用了,主要贡献如下:

1.高度模块化,主要分三步,1.load_model;2.run_model,3.postprocess。1,2所有的模型共用,通过2可以得到output的tensor,每个模型只需写自己的后处理来解析output的Tensor即可。

2.代码量是sample代码的几十分之一,结构清晰简单易懂

3.yolov3后处理完全自己重写,速度非常快

4.遗弃sample中所有的全局变量,防止多线程跑多个模型时出现的线程安全问题。亲测,在多线程跑多个模型正常,互不影响,重构的C++代码是线程安全的。

编译:

1.依赖环境: opencv4.0 需要用海思的交叉编译工具编译opencv4.0的库,然后替换掉third_party/opencv4

2.切换到nnie下目录下,make生成可执行文件

3.将可执行文件和模型以及测试图片考到板子上运行。

About

重构海思sample中的NNIE模块

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 94.9%
  • C++ 4.6%
  • Makefile 0.5%