参考下述网址内容,完成onnx-tensorrt安装包的下载和部署。
https://zhuanlan.zhihu.com/p/502098639
如果在安装protobuf过程中,使用 ./autigen.sh 报错:
此时解决方案: sudo apt-get install automake
这个方法解决了我的问题。
在 cmake 安装过程中出现下述问题:
参考下述博主的博客:
https://blog.csdn.net/weixin_39558227/article/details/104780434
找到问题是github上下载项目的时候,没有把/onnx-tensorrt-master/third_party/onnx/中的包含的onnx库的东西下载下来。
通过下述网址完成 onnx 库的下载:
https://github.com/onnx/onnx/releases
本文 Jetson AGX Orin的jetpack版本是5.0.1,CUDA版本是11.4,Tensorrt是8.2.3.0,protobuf是3.17.0;根据上述模块版本,本文选择 onnx 1.10 版本进行下载。目前安装过程没有出现问题!!
完成 .zip 压缩包的下载后,将下载后的内容,解压放置到onnx-tensorrt/third_party/onnx/ 中,然后终端进入 onnx 库文件夹中,
将下述代码加入到CMakeLists.txt中:
link_directories(/xxx/xx/TensorRT-8.2.3.0/lib)
include_directories(/usr/local/cuda-11.4/include)
include_directories(/xxx/xxx/TensorRT-8.2.3.0/include)
然后通过 mkdir build创建 build 文件,再通过 cd build 进入build 文件夹中;
再完成 cmake … 的编译;
然后再执行 make -j8;
最后通过 sudo make install 完成安装!!
在Python框架下安装Onnx-tensorrt
具体的安装过程,其实github上面已经给出,如下图所示:
根据上图的3个步骤,本文将做下述阐明:
注意:如果你自己在 Miniforge里面创建了虚拟环境,一定要先激活对应的虚拟环境!!!
1.进入到自己压缩后的TensorRT-8.2.3.0的文件夹中,然后在python文件夹中找到对应的安装包,因为我的python=3.8,所以选择了 cp38 的 .whl 文件进行安装;(安装指令上图中的第一步内容已经给出,记得修改路径即可!或者直接在 .whl 安装包下打开终端也行)
2.因为之前已经下载 Onnx 库文件,所以直接按照自己下载的 Onnx 版本进行安装;因为我下载的是 Onnx=1.10.0,所以后面的内容写成这个版本号来安装;
3.此时是进入到Onnx-tensorrt-8.2-GA文件夹下执行该指令(不是在Onnx-tensorrt-8.2-GA/third_party/onnx/onnx-rel-1.10.0路径下执行 setup.py),当我执行到这一步操作时,报了以下错误:
说明我没有安装 pycuda,所以出现上述错误!!
根据博主的博客https://blog.csdn.net/qq_29007291/article/details/128646924
通过命令 conda install -c conda-forge pycuda 完成了 pycuda 的安装(注意是在miniforge自己创建的虚拟环境下安装)。
再通过下述指令验证 pycuda 是否安装成功:
python
import pycuda
如果没有出现 No module就证明安装成功了!!!
再执行 python3 setup.py install 就可以成功进行安装了!!
最后再来验证 onnx 和 onnx-tensorrt 是否在python框架下安装成功:
python
import onnx
import onnx_tensorrt.backend as backend