在移动端和嵌入式平台上使用NCNN框架调用caffe模型。
NCNN编译安装
- 下载链接:https://github.com/Tencent/ncnn/archive/20181228.zip
- Build from source
mkdir build && cd build
# 在cmake之前检查一下CMakeLists.txt末尾是否打开了target-tools
cmake ..
make
make install
caffemodel转NCNN model
1. 旧版caffemodel 转新版caffemodel
caffe/build/tools/upgrade_net_proto_text model_deploy.prototxt model_deploy_2.prototxt
caffe/build/tools/upgrade_net_proto_binary model.caffemodel model_2.caffemodel
2. caffemodel 转 NCNN model
ncnn-20181228/build/tools/caffe/caffe2ncnn model_deploy_2.prototxt model_2.caffemodel model.param model.bin
- *.param文件中存的是模型结构,可以直接用vim查看,明文保存的
- *.bin文件中存的是权重数据
- 如果需要对模型结构进行加密,则执行以下指令。执行成功以后,会在ncnn-20181228/build/tools目录下生成一个model.param.bin文件,即为加密后的模型文件。
ncnn-20181228/build/tools/ncnn2mem model.param model.bin model.id.h model.mem.h
NCNN model 加载
//加载加密模型
ncnn::Net net;
net.load_param_bin("model.param.bin");
net.load_model("model.bin");
//不加密
ncnn::Net net;
net.load_param("model.param");
net.load_model("model.bin");