Mxnet模型转化为ncnn模型,并验证转化正确性

一、背景

同时已经训练好一个基于Mxnet的人脸属性检测模型,为了适应项目需要要将Mxnet转为ncnn模型。

Mxnet模型格式如下:

 

二、预期目标

利用上述模型,可以实现人脸属性的检测。检测准确性如下:

('acc_gender: ', 0.9220647773279352)
('acc_glass: ', 0.9949392712550608)
('acc_age: ', 0.8390688259109311)
('acc_race: ', 0.7327935222672065)

转换后的ncnn模型能够实现上述准确性即可认为转化成功。

三、转化流程

1.使用清华源安装MXNET、scikit-image

pip install mxnet -i https://pypi.tuna.tsinghua.edu.cn/simple/

2.按照参考文献编译ncnn

https://blog.csdn.net/ycdhqzhiai/article/details/80738987

ps:

(1)所有命令使用VS的命令提示符工具

(2)如果如果编译ncnn时提示error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MT_StaticRelease”不匹配值“MD_DynamicRelease”。将CMakeCache.txt中的MD改为MT。

3.参考文献https://www.jianshu.com/p/d8b31688d0a1模型转换。

脚本内容说明:
set MXNET_MODEL_DIR=E:/ncnn/ncnn/build2015/tools/mxnet/orig_model  #原始模型文件夹
set NCNN_MODEL_DIR=E:/ncnn/ncnn/build2015/tools/mxnet/converted_model  #转换后模型文件夹
mxnet2ncnn.exe  %MXNET_MODEL_DIR%/model-symbol.json  %MXNET_MODEL_DIR%/model-13999.params    %NCNN_MODEL_DIR%/multitask_zxh.param   %NCNN_MODEL_DIR%/multitask_zxh.bin  #model-symbol.json 原始的名称  

model-13999.params原始参数名称
pause  

运行后可以得到两个新的模型文件。multitask_zxh.param和multitask_zxh.bin。

四、模型验证

原始的模型是用python调用的,新生成的模型文件需要用C语言调用。按照博客中的方法可以实现新模型的调用,https://blog.csdn.net/qq_36982160/article/details/79929869

同一幅图像,新旧模型得到的向量完全相同。

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值