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进入解压的文件夹


image.png
# 自动生成configure配置文件
./autogen.sh

# 配置环境
./configure

# 编译源代码(要有耐心!)
make -j4

# 安装
sudo make install

刷新共享库

sudo ldconfig

成功后需要使用命令测试

protoc -h

测试成功如下


image.png

2. trtpy编译安装

2.1 修改CMakeLists.txt文件

设置HAS_PYTHON为ON,配置python路径,修改CUDA_GEN_CODE匹配自己的设备

image.png

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

image.png

设置protobuf路径


image.png

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


image.png

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


image.png

image.png
image.png

2.2 删除和deepsort有关的文件

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


image.png

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


6cf09f638286a418d4f2c8595985428.png

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


image.png

以上是我修改过的过程,同时提供了一个按如上方式修改完成后的,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

安装完成如下图


image.png

查看是否安装成功


image.png

正常导入则安装成功。

你可能感兴趣的:(Jetson Xavier NX Trtpy安装)