onnx
Ehrich wen
人工智能、算法集成、TensorRT、OpenVINO、TNN&MNN、C++后端开发
展开
-
解决TensorRT报错:Assertion Error in trtSmToCask: 0 (Unsupported SM.)
错误信息:E20211126 11:55:13.654 140412916315904 tensorrt.cpp:10] …/rtSafe/cuda/caskUtils.cpp (98) - Assertion Error in trtSmToCask: 0 (Unsupported SM.)原因:TensorRT版本与cuda或者cudnn版本不匹配,如笔者的TensorRT版本为7.2.1,而cuda为最新的11.5版本,其中cuda版本过高无法适配:解决:重装cuda或者TensorRT原创 2021-11-27 10:01:58 · 2539 阅读 · 0 评论 -
onnx转TensorRT推理自定义插件(op)的方式,Python&C++
首先,无论是python还是C++,我们都要写一个自己的plugin,一般的不支持op网上都有参考的版本,写plugin的参考教程:如何写好一个opC++实现和使用过程:下载TensorRT官网源码, 进入plugin可以看到许多已经定义好的插件可以参考,照着写就行,以ScatterND为例。先写好自己的plugin,如名为:myplugin注意:此处plugin代码里面不能包含REGISTER_TENSORRT_PLUGIN(MyPluginCreator)代码,不然会导致重复注册的问题。在p原创 2021-11-08 15:19:45 · 3773 阅读 · 2 评论 -
基于python实现onnx转TensorRT自定义op
TensorRT源码上提供了一些python的samples,但是说好的提供onnx_packnet这个sample是onnx2trt自定义op的示例,但却没有写完整,不熟悉的人很难看懂。但其实Python版本的onnx2trt自定义op很简单,过程如下:找到一个需要自定义op的C++插件(或者自己写)如:grid_sampler使用cmake将上述grid_sampler相关文件生成C++库文件libtensorrtplugins.so在Python文件的最开头加上一句:ctypes.CDLL("原创 2021-09-15 21:47:32 · 847 阅读 · 0 评论 -
使用python进行onnx转trt(TensorRT)模型,简单有效
运行环境python 3.6.9tensorrt 7.1.3.4简单代码实现import tensorrt as trtimport sysimport osTRT_LOGGER = trt.Logger(trt.Logger.WARNING)EXPLICIT_BATCH = 1 << (int)(trt.NetworkDefinitionCreationFlag.EXPLICIT_BATCH)def printShape(engine): for i in r.原创 2021-07-24 10:08:30 · 5457 阅读 · 14 评论