如何将onnx转ncnn供移动端推理使用

本文介绍了如何将onnx模型转换为ncnn模型,适用于移动端推理。首先讲解了如何使用onnxsim将onnx简化,然后详细阐述了ncnn的环境配置,包括VS、cmake和protobuf的安装步骤。接着,通过cmake和nmake编译ncnn库。最后,利用ncnn的onnx2ncnn工具进行模型转换,生成.param和.bin文件,为移动端AI应用做准备。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ncnn是一个为手机端极致优化的高性能神经网络前向计算框架。基于 ncnn,开发者能够将深度学习算法轻松移植到手机端高效执行,开发出人工智能 APP,将 AI 带到你的指尖。

但是onnx直接转ncnn会存在很多问题,所以一般考虑都是先将onnx转化为onnxsim然后再进行simpler到ncnn的转换。

那么如何将onnx转化为onnxsim呢,网上有两种方法,第一种是直接利用安装的onnxsimple包来进行转换

python -m onnxsim cr_acc_9954.onnx cr_acc_9954-sim.onnx

但是前提是你能准确安装上onnxsimple,关于安装的时候出现的问题,在我之前的博客有提及到,可以翻看之前的博客。

还有一种就是通过代码来转换,代码如下所示:

def convert(model_name):
    input_shapes = {None: [1, 3, 32, 320]}
    model_opt, check_ok = onnxsim.simplify(model_name, input_shapes=input_shapes)
    onnx.save(model_opt, model_name[:-5]+"-sim.onnx")
    print("the model was simplified successfully")

if __name__ == '__main__':
    model_name="models/checkpoint_27_acc_0.9981.onnx"
    conv
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序小K

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值