系列文章目录
【模型部署】人脸检测模型DBFace C++ ONNXRuntime推理部署(0)
【模型部署】人脸检测模型DBFace C++ ONNXRuntime推理部署(1)
【模型部署】人脸检测模型DBFace C++ ONNXRuntime推理部署(2)
在实际应用中,由于语言的特性,通常选择C++环境进行部署,从而更快地得到推理结果。上一篇博客中已经介绍了ONNX模型转换以及Python环境下的ONNXRuntime推理,而本篇博客将分享C++环境下的ONNXRuntime推理部署流程和关键API,并以DBFace模型为例进行展示。
1 C++推理流程
C++环境下的推理并不像Python那样简单易操作,它需要先定义好相关的环境变量,并通过相应的API从ONNX模型得到节点信息,从而分配内存并创建输入输出Tensor,最后进行推理运算,基本流程及所用的API如下图所示。

2 关键API介绍
首先创建环境变量并设置好Session选项,所有的API都封装在Ort这个类中。Ort::Env只是用来设置日志级别以及日志输出文件,而关键的设置在Ort::SessionOptions & Ort::Session。

设置运行的线程数和计算图优化级别,以及模型的路径。

Ort::Env ort_env(ORT_LOGGING_LEVEL_WARNING, “default");
Ort::SessionOptions session_options;
session_options.SetIntraOpNumThreads(1);
session_options.SetGraphOptimizationLevel(GraphOptimizationLevel::ORT_ENABLE_ALL);
Ort::Session session(ort_env, pathWch, session_options

本文详细介绍了如何在C++环境中使用ONNXRuntime进行DBFace人脸检测模型的推理部署,包括创建环境变量、设置Session选项、获取输入输出节点信息、创建Tensor并进行推理运算的关键步骤。此外,还提供了关键API的介绍和C++代码示例,帮助读者理解并实现在C++中的人脸检测模型部署。
最低0.47元/天 解锁文章
358

被折叠的 条评论
为什么被折叠?



