1、 ncnn编译安装
(1)首先安装protobuf,protobuf是一种轻便高效的结构化数据存储格式。
Protobuf安装与使用参考如下链接:https://www.cnblogs.com/luoxn28/p/5303517.html
(2)安装opencv
https://blog.csdn.net/alphaPii/article/details/72764917?locationNum=11&fps=1
(3)安装ncnn
先下载ncnn: git clone https://github.com/Tencent/ncnn
cd<ncnn-root-dir>
在CMakeLists.txt中取消注释add_subdirectory(examples)这一行
$ mkdir -p build
$ cd build
$ cmake ..
$ make -j4
$ make install
编译完成。编译完成后在ncnn/build/tools 目录下,可以看到已经生成了 caffe2ncnn和ncnn2mem这两个可执行文件。caffe2ncnn可的作用是将caffe模型生成ncnn 模型,ncnn2mem可对模型进行加密。
$ cdbuild/examples
$ ./squeezenet yourimage.jpg
测试可以得到结果
2、 将caffe下的Alexnet网络模型转化为ncnn模型
https://www.2cto.com/kf/201707/662863.html
卸载模型
net.clear();
Extractor有个多线程加速的开关,设置线程数能加快计算
ex.set_num_threads(4);
可以将多个模型文件合并成一个,通过FILE*interface下载单一模型,可以简化模型的分发
$ cat alexnet.param.bin alexnet.bin > alexnet-all.bin
#include"net.h"
FILE* fp =fopen("alexnet-all.bin", "rb");
net.load_param_bin(fp);
net.load_model(fp);
fclose(fp);