caffe转ncnn

caffe转ncnn:protobuf+cmake https://blog.csdn.net/u012477435/article/details/80765005

caffe转ncnn:cmake https://blog.csdn.net/soralaro/article/details/81131615

protobuf安装错误:https://blog.csdn.net/legend18/article/details/49840607

 

1、安装protobuf, cmake

(1)protobuf安装配置及出错处理

见我的博客:https://blog.csdn.net/weixin_41770169/article/details/85768593

(2)cmake安装配置

见我的博客:https://blog.csdn.net/weixin_41770169/article/details/85758091

 

2、编译ncnn

ncnn代码下载和cmake编译

git clone https://github.com/Tencent/ncnn
cd ncnn
mkdir build && cd build
cmake ..
make -j
make install

 

3、caffe模型准备,更新

.caffemodel, .prototxt

ncnn只支持最新版本的caffe模型,caffe 自带了工具可以把老版本的 caffe 网络和模型转换为新版(ncnn的工具只认识新版),这里介绍一种比较笨但是比较快捷的方法: 
首先将你需要转换的prototxt和caffemodel放在你电脑的caffe/build/tools目录下,然后终端进入caffe/build/tools,执行命令:

./upgrade_net_proto_text old_deploy.prototxt new_deploy.prototxt
./upgrade_net_proto_binary old.caffemodel new.caffemodel

执行完成之后你就可以在caffe/build/tools下找到你的new_deploy.prototxt和new.caffemodel文件了。 
注意完成之后打开你的new_deploy.prototxt文件看一下,因为一般每次只需要做一个数据样本的识别,所以如果第一个 dim 不为1,要将其设为 1,类似于这样:

layer {
  name: "data"
  type: "Input"
  top: "data"
  input_param { shape: { dim: 1 dim: 3 dim: 227 dim: 227 } }
}

 

4、caffe转ncnn

在第一步生成的ncnn/build/tools目录下用caffe2ncnn来转换新版的mobileNet模型。

$./caffe2ncnn mobilenet_deploy_new.prototxt mobilenet_new.caffemodel mobilenet.param mobilenet.bin

注意生成的ncnn格式的模型中,.param可以理解为网络的配置文件,.bin可以理解为网络的参数(各种权重)文件。 
若需要对模型进行加密,可用如下命令

 $./ncnn2mem mobilenet.param mobilenet.bin mobilenet.id.h mobilenet.mem.h

最后可生成 mobilenet.param.bin 这样的二进制加密文件。ncnn对加密和非加密两种文件的读取方式不一样。

//load非加密的ncnn模型
ncnn::Net net;
net.load_param("mobilenet.param");
net.load_model("mobilenet.bin");
//load加密的ncnn模型
ncnn::Net net;
net.load_param_bin("mobilenet.param.bin");
net.load_model("mobilenet.bin");

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值