【ncnn】将 caffemodel 转换为 NCNN 格式

1、编译win10版本的caffe

详细编译过程参考其他笔记
【Caffe-GPU】Caffe+Python3+CUDA8+CUDNN5+win10+VS2015+Mnist 配置
【Caffe-CPU】Caffe+Python+CPU+Win10+VS2015+Mnist 配置

2、准备需要转换的caffemodel

通常来说,一个caffe模型有以下三个文件: train.prototxt 、deploy.prototxt 、alexnet.caffemodel,其中 train.prototxt 是用于训练的,在部署的时候,只需要 TEST 过程,所以只要有 deploy.prototxt 和caffemodel 就够了。

3、编译win10版本的NCNN

详见本人其他笔记 NCNN + WIN10 + VS2015 编译和测试
本机ncnn根目录为
D:\github\ncnn-win10\ncnn-20190611

4、将老版本的caffe网络转换为新版

由于NCNN只支持新版本的caffe网络,因此需要先将老版本的caffe网络转换为新版本,该转换可以用caffe自带的工具来进行。
如果在第1步中成功编译了caffe,将在caffe-windows/build/tools/Release 目录下生成各种工具,如
在这里插入图片描述
其中的 upgrade_net_proto_text.exe 和 upgrade_net_proto_binary.exe 用于转换新模型,用以下
命令进行

upgrade_net_proto_text.exe [老prototxt] [新prototxt]
upgrade_net_proto_binary.exe [老caffemodel] [新caffemodel]

转换完成后,将prototxt文件中的input第一个dim设为1,因每次只需测试一张图片。

5、将新版本的caffe网络转换为ncnn

如果在第3步中成功编译了ncnn,将在 ncnn/build/tools/caffe 目录下生成 caffe2ncnn.exe 工具,
利用该工具可将新版本的caffe转换为ncnn,执行以下命令

caffe2ncnn.exe [新prototxt] [新caffemodel] [ncnn的param格式描述文件] [ncnn的bin格式模型文件]

执行完后将生成ncnn格式的param和bin文件,这两个文件其实已经可以用了,但param描述文件是明文的,容易被人看到,因此可以进一步利用 ncnn2mem.exe 工具生成二进制的描述文件,该工具在ncnn/build/tools 目录下,执行以下命令,将生成 bin 格式的描述文件和两个静态数组文件

ncnn2mem.exe [ncnn的param格式描述文件] [ncnn的bin格式描述文件] [alexnet.id.h] [alexnet.mem.h]

主要参考官方的 ncnn组件使用指北alexnet

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值