一、下载TensorRT
这个比较简单,直接下载然后解压到一个目录。
tensorRT的下载地址:https://developer.nvidia.com/nvidia-tensorrt-download
二、编译ONNX-TensorRT:
cmake 建议选择3.16,因为我用3.20去编译onnx-tensorRT始终有问题;
1.首先解压好onnx-tensorrt-relase-6.0
2.然后使用一下cmake命令去编译,指定protobuf源码和TensorRT的目录
cmake .. \
-DProtobuf_INCLUDE_DIR=/workspace/envs/protobuf-3.16.0/src/ \
-DTENSORRT_ROOT=/workspace/envs/TRT-6.0.1/ \
-DCUDA_INCLUDE_DIRS=/usr/local/cuda-10.1/include
3.之后执行 make -j8 && make install
顺利的话就直接这样完成了。
三、问题及解决方案
看到这里就是不顺利的小伙伴了,有如下几个问题。:
1.如果出现cudnn.h相关错误,如下图:![](https://img-blog.csdnimg.cn/3659f413c8b844188594a7b679c7526f.jpg?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Li257q46bmk,size_20,color_FFFFFF,t_70,g_se,x_16)
此时可以通过指定cuda目录来解决,在cmake 时候
-DCUDA_INCLUDE_DIRS=/usr/local/cuda-10.1/include
2.遇到tensorRT1.4,1.5,1.6 不兼容的问题:
修改 onnx/ModelImporter.cpp
第87行:
修改前
修改后
第556行:
修改前:
修改后:
主要以上两处修改,修改完成后,就可以进入build(如果没有,则创建一个build目录)编译,如前文(二、)所写流程编译。
********************************************************************************
先写到这里,可能还有一些小问题,记不起来了,后续有机会再补充吧。
********************************************************************************