Jetson Xavier NX Trtpy安装
0. 准备工作
安装之前请先安装好CUDA、cuDNN、TensorRT和Pytorch
Jetson Xavier NX CUDA、cuDNN、TensorRT与Pytorch环境配置
protobuf-3.11.4、tensorRT_Pro源码安装包下载
链接:https://pan.baidu.com/s/1mrIgGoMo0bq6otGhlh-E3A
提取码:6sb3
之前使用archiconda编译该项目,动态链接库会链接archiconda的下动态连接库,导致找不到动态链接库的错误,就直接使用了系统的python3,直接连接到系统的动态链接库,因此使用此方式,需要你退出archiconda环境。
1. protobuf-3.11.4安装
安装protobuf-3.11.4依赖项
sudo apt-get install autoconf automake libtool curl make g++ unzip libffi-dev -y
解压protobuf-3.11.4.zip,打开终端,cd进入解压的文件夹

# 自动生成configure配置文件
./autogen.sh
# 配置环境
./configure
# 编译源代码(要有耐心!)
make -j4
# 安装
sudo make install
刷新共享库
sudo ldconfig
成功后需要使用命令测试
protoc -h
测试成功如下

2. trtpy编译安装
2.1 修改CMakeLists.txt文件
设置HAS_PYTHON为ON,配置python路径,修改CUDA_GEN_CODE匹配自己的设备

Jetson平台下Cuda环境能够自动找到CUDA、cuDNN和TensorRT文件夹路径一般不需要配置。如果编译有问题,找一下自己的路径更改一下。

设置protobuf路径

设置include_directories,link_directories,使用系统的python3.6的include中的Python.h等头文件和python动态链接库。(PythonRoot都没用上,感觉应该前面的PythonRoot不修改也行,但是我懒得试验了T_T)

注释如下代码,编译deepsort时,在Jetson平台会报错,开发者的建议是删除和deepsort有关的cpp,所以用到deepsort的target就都注释了,接下来还需要删除与deepsort和这两个target相关代码



2.2 删除和deepsort有关的文件
修改src/main.cpp,删除图中红框的部分,去除CMakeLists.txt中注释了的arcface和fall两个target的调用。

删除src\application中的app_arcface.cpp与app_fall_recognize.cpp,因为这个两个cpp都调用了deepsort。

删除src\application\tools中的deepsort相关文件。

以上是我修改过的过程,同时提供了一个按如上方式修改完成后的,tensorRT_Pro的源码包,大家有需要可以自行下载,请看开头的百度云盘
2.3 编译安装trtpy
CMakeLists.txt修改完成后,进入tensorRT_Pro文件夹
# 打开终端,新建build文件夹并且cd进入
mkdir build && cd build
# 使用cmake生成编译相关文件
cmake ..
# 执行make yolo -j4
make yolo -j4
# 确保yolo能够正确编译后,执行make编译安装trtpy,否则请进行详细检查确保yolo编译成功
sudo make pyinstall -j4
安装完成如下图

查看是否安装成功

正常导入则安装成功。