onnx简介

1 Pytorch模型定义和模型权重暂时不支持打包在一起,这在推理时候需要先用模型定义代码构建模型,再加载模型权重,比较麻烦。

借助于onnx格式转换可以把模型打包一起,在ONNX Runtime中运行推理,ONNX Runtime 是针对 ONNX 模型的以性能为中心的引擎,可大大提升模型的性能。

另外,onnx模型支持在不同框架之间转换,也支持tensorRT加速

 

采用ONNX+TensorRT应该是目前最成熟、最优化的方案。假如你的target是一些嵌入式芯片,那么采用MNN也是可以通过onnx轻松实现CPU嵌入式端快速推理的。

既然ONNX和TensorRT这么好,为什么都不用呢?为什么都还在用Python写难看的推理的代码呢?原因也很简单:

  • 入门太难,C++一般人玩不来;

  • 既要懂模型的每一层输入输出,又要懂TensorRT的API,至少要很熟悉。

 

 

上面的是将pytorch首先转化为onnx,然后让TensorRT解析onnx从而构建TensorRT引擎。那么我们如何让TensorRT直接加载引擎文件呢,

也就是说,我们先把onnx转化为TensorRT的trt文件,然后让c++环境下的TensorRT直接加载trt文件,从而构建engine。

 

 

2 https://www.zhihu.com/question/478631783

 https://zhuanlan.zhihu.com/p/346511883

https://microsoft.github.io/ai-edu/基础教程/A2-神经网络基本原理/第6步%20-%20模型部署/13.2-ONNX模型文件.html

原文链接: https://www.cnblogs.com/ymec/p/14189103.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    onnx简介

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/206429

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月12日 下午10:36
下一篇 2023年2月12日 下午10:36

相关推荐