Jetson配置YOLOv11环境(4)cuda cudnn tensorrt配置
文章目录
- 0. 简介
- 1. cuda配置:添加cuda环境变量
- 2. cudnn配置
- 3. TensorRT Python环境配置
- 3.1 系统自带Python环境中的TensorRT配置
- 3.2 Conda 虚拟Python环境中的TensorRT配置
0. 简介
官方镜像中,cuda,cudnn已随 JetPack SDK 一同安装,因此无需手动安装,只需添加环境变量即可。对于TensorRT,也已安装,要在Python中调用,只需安装Python的TensorRT模块即可。
1. cuda配置:添加cuda环境变量
- 打开~/.bashrc。
sudo vim ~/.bashrc
- 在文本末输入如下代码:
export LD_LIBRARY_PATH=/usr/local/cuda/lib64
export PATH=$PATH:/usr/local/cuda/bin
export CUDA_HOME=/usr/local/cuda
命令1:设置
LD_LIBRARY_PATH
环境变量,指定CUDA动态链接库的搜索路径
LD_LIBRARY_PATH
是 Linux 系统中的一个环境变量,用于指定动态链接库的搜索路径将
LD_LIBRARY_PATH
环境变量设置为CUDA 库所在的路径/usr/local/cuda/lib64
命令2:将 CUDA 的可执行文件路径添加到系统的
PATH
环境变量中
PATH
环境变量用于指定可执行文件的搜索路径将 CUDA 的可执行文件所在路径
/usr/local/cuda/bin
添加到PATH
环境变量中。从而使系统可以在该目录下找到
CUDA 的工具和命令(如nvcc
编译器)。
命令3:设置
CUDA_HOME
环境变量,指定 CUDA 的安装路径。
CUDA_HOME
环境变量通常用于指定 CUDA 的安装目录Pytorch和Torchvision的编译会依赖
CUDA_HOME
来定位 CUDA 的库和工具。
$
:引用变量的值。遇到$
后面跟着合法的变量名,就会把$
和变量名替换成变量所存储的值。
export
:作用就是将局部变量提升为环境变量。
- 使新的环境变量或修改生效
source ~/.bashrc
- 验证,出现下图信息则成功配置
nvcc -V
2. cudnn配置
Jetpack中虽然安装了cuDNN,但没有将对应的头文件、库文件放到cuda目录,因此需要复制cudnn的头文件和库文件到cuda目录下
sudo cp /usr/include/cudnn*.h /usr/local/cuda/include
sudo cp /usr/lib/aarch64-linux-gnu/libcudnn* /usr/local/cuda/lib64
3. TensorRT Python环境配置
3.1 系统自带Python环境中的TensorRT配置
TensorRT默认安装位置在/usr/lib/python3.8/dist-packages/
中,若找不到trt, 则先执行以下命令,安装NVIDIA TensorRT 的 Python 3 绑定库
sudo apt install python3-libnvinfer
这样再进入上述路径后tensorrt就存在了
nx@nx-desktop:/usr/lib/python3.8/dist-packages$ ls
cv2 numpy tensorrt tensorrt-8.5.2.2.dist-info
输入pip list
后tensorrt也出现了。
3.2 Conda 虚拟Python环境中的TensorRT配置
若要在虚拟环境中使用tensorrt,由于tensorrt不能被虚拟环境pytorch
中定位使用。因此我们需要软链接一下,运行如下命令:
sudo ln -s /usr/lib/python3.8/dist-packages/tensorrt* /home/nx/anaconda3/envs/pytorch/lib/python3.8/site-packages/
测试一下,运行如下指令:
python -c "import tensorrt;print(tensorrt.__version__)"
若出现版本号8.5.2.2,则成功。