如何从源码角度分析ONNXRuntime的推理引擎执行步骤?
- 内容介绍
- 相关推荐
本文共计3481个文字,预计阅读时间需要14分钟。
目录+前言+准备工作+构造+InferenceSession对象+初始化+让模型运行+总结+前言+在上文中,[推理引擎]ONNXRuntime的架构设计主要从文档上对ONNXRuntime的执行流程进行了梳理,但想了解:
1. ONNXRuntime的具体实现细节;
2.如何在ONNXRuntime中添加自定义算子;
3.ONNXRuntime的性能优化策略;
4.ONNXRuntime与其他推理引擎的比较。
目录- 前言
- 准备工作
- 构造 InferenceSession 对象 & 初始化
- 让模型 Run
- 总结
在上一篇博客中:ONNXRuntime 的架构设计,主要从文档上对ONNXRuntime的执行流程进行了梳理,但是想要深入理解,还需从源码角度进行分析。
本文以目标检测模型NanoDet作为分析的基础,部分代码主要参考:超轻量级NanoDet MNN/TNN/NCNN/ONNXRuntime C++工程记录 - DefTruth的文章 - 知乎,在此表示感谢!
准备工作OrtHandlerBase 是用来操控 ONNXRuntime 的基类,各种网络模型都可以通过继承该类进而拥有 ONNXRuntime 的使用权限,比如 NanoDet;同时,NanoDet还可以扩展独属于自己的方法和成员变量,以方便推理前后的预处理和后处理工作。
本文共计3481个文字,预计阅读时间需要14分钟。
目录+前言+准备工作+构造+InferenceSession对象+初始化+让模型运行+总结+前言+在上文中,[推理引擎]ONNXRuntime的架构设计主要从文档上对ONNXRuntime的执行流程进行了梳理,但想了解:
1. ONNXRuntime的具体实现细节;
2.如何在ONNXRuntime中添加自定义算子;
3.ONNXRuntime的性能优化策略;
4.ONNXRuntime与其他推理引擎的比较。
目录- 前言
- 准备工作
- 构造 InferenceSession 对象 & 初始化
- 让模型 Run
- 总结
在上一篇博客中:ONNXRuntime 的架构设计,主要从文档上对ONNXRuntime的执行流程进行了梳理,但是想要深入理解,还需从源码角度进行分析。
本文以目标检测模型NanoDet作为分析的基础,部分代码主要参考:超轻量级NanoDet MNN/TNN/NCNN/ONNXRuntime C++工程记录 - DefTruth的文章 - 知乎,在此表示感谢!
准备工作OrtHandlerBase 是用来操控 ONNXRuntime 的基类,各种网络模型都可以通过继承该类进而拥有 ONNXRuntime 的使用权限,比如 NanoDet;同时,NanoDet还可以扩展独属于自己的方法和成员变量,以方便推理前后的预处理和后处理工作。

