使用ncnn在c++对onnx进行推理

本文介绍了如何在C++环境中利用ncnn库对ONNX模型进行推理。首先,需要在Linux环境下编译ncnn以转换ONNX模型为ncnn格式。接着,下载适用于Windows的ncnn库文件,并将其包含到C++项目中。然后,通过onnx-simplifier简化ONNX模型,并使用CMake构建可执行文件。最后,在Visual Studio中创建C++控制台程序,添加ncnn、VulkanSDK、OpenCV等相关依赖库,并实现模型推理。
摘要由CSDN通过智能技术生成

准备工作
1.linux下编译ncnn,用于转换onnx文件到ncnn格式
2.下载c++所需的dll,lib,头文件
https://github.com/Tencent/ncnn/tags选个最新windows平台编译好的shared版本下载,里面的头文件文件夹,dll,lib直接配置到项目即可(build from source一堆错误。。。)
3.onnx转ncnn(https://github.com/Tencent/ncnn/blob/master/docs/how-to-use-and-FAQ/use-ncnn-with-pytorch-or-onnx.md)
先下载https://github.com/daquexian/onnx-simplifier仓库,进入此仓库目录敲命令python setup.py install,再python -m onnxsim sample.onnx sample-sim.onnx得到简化后的onnx,再在.../ncnn/tools/onnx/cmake make得到onnx2ncnn可执行文,再执行命令./onnx2ncnn sample-sim.onnx sample.param sample.bin
4.创建vs c++控制台程序
工程添加ncnn-20210525-windows-vs2017-shared,安装的VulkanSDK的include,opencv的头文件,ncnn,open的lib,dll
参考...\ncnn\examples\shufflenetv2.cpp过一遍推理过程,注意要注释掉下面这行

my_shufflenetv2.opt.use_vulkan_compute = true;
#include "pch.h"
#include <iostream>

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值