将训练好的模型应用——onnxruntime、TensorRT安装

本文详细介绍了在Ubuntu20.04系统中,针对NVIDIA3060显卡如何配置CUDA、cuDNN、安装onnxruntime,以及解决TensorRT安装过程中的问题,包括选择正确的TensorRT版本,设置环境变量,解决库文件缺失的错误,并在PyCharm中配置环境变量以避免导入错误。
Qwen3-32B-Chat 私有部署镜像 | RTX4090D 24G 显存 CUDA12.4 优化版

本镜像基于 RTX 4090D 24GB 显存 + CUDA 12.4 + 驱动 550.90.07 深度优化,内置完整运行环境与 Qwen3-32B 模型依赖,开箱即用。

本文可作为ubuntu20.04 NVIDIA 3060配置CUDA cuDNN anaconda pytorch过程(20230226)的后续

onnxruntime安装

先在相应的aconoda环境进行python,然后输入import onnxruntime 检查有无安装onnxruntime

若没有安装,相应的aconoda环境的终端输入 pip install onnxruntime-gpu,如果安装了cpu版本的,先卸载 pip uninstall onnxruntime

TensorRT安装

这是一个很令人头秃的过程。

1.参考文献

我在安装过程中,参考了以下链接

TensorRT安装配置完成有感(含各种命令行保姆级教程)
TensorRT学习笔记–Ubuntu20.04安装TensorRT 8.2.5

ImportError: libcudnn.so.8: cannot open shared object file: No such file or directory

2.下载

TensorRT下载链接
一定要选择和你的CUDA对应的版本!!!
我的CUDA是11.6,试了好几个,最后选择了8.5.1.7,下载是tar.gz版本的

3.解压、配置环境变量

我准备解压到/usr/local/TensorRT/

cd /usr/local/
sudo mkdir TensorRT
sudo cp ~/Downloads/TensorRT-8.5.1.7.Linux.x86_64-gnu.cuda-11.8.cudnn8.6.tar.gz /usr/local/TensorRT/
cd TensorRT
tar -zxvf TensorRT-8.5.1.7.Linux.x86_64-gnu.cuda-11.8.cudnn8.6.tar.gz

配置环境变量
打开./bashrc,在最后加上

# tensorRT install
export LD_LIBRARY_PATH=$PATH:/usr/local/TensorRT/TensorRT-8.5.1.7/lib:$LD_LIBRARY_PATH
export LIBRARY_PATH=$PATH:/usr/local/TensorRT/TensorRT-8.5.1.7/lib:$LIBRARY_PATH
export C_INCLUDE_PATH=$C_INCLUDE_PATH:/usr/local/TensorRT/TensorRT-8.5.1.7/include
export CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:/usr/local/TensorRT/TensorRT-8.5.1.7/include

然后保存
然后

source ~/.bashrc

然后

cd /usr/local/TensorRT/TensorRT-8.5.1.7/samples/sampleOnnxMNIST
sudo make
cd ../../bin
 ./sample_onnx_mnist

(注意,不是sudo ./sample_onnx_mnist 要不然可能报./sample_onnx_mnist: error while loading shared libraries: libnvinfer.so.8: cannot open shared object file: No such file or directory,我也不知道为什么)

运行结果如下
在这里插入图片描述

4.安装TensorRT库(该步骤每个aconoda环境都要在各自终端来一遍)

cd /usr/local/TensorRT/TensorRT-8.5.1.7/python
# 根据Python版本安装,我的是python3.9
pip install tensorrt-8.2.5.1-cp39-none-linux_x86_64.whl 
 
# 安装依赖
cd /usr/local/TensorRT/TensorRT-8.5.1.7/graphsurgeon
pip install graphsurgeon-0.4.5-py2.py3-none-any.whl

然后在终端运行python,输入以下指令,看看是否成功

import onnxruntime as ort
import tensorrt
print(ort.get_device())
print(ort.get_available_providers())
print(tensorrt.__version__)

可能会报

ImportError: libnvinfer.so.7: cannot open shared object file: No such file or directory

解决方法:
下载你已安装版本的cudnn的tar.gz,我对应的是cudnn-linux-x86_64-8.7.0.84_cuda11-archive.tar.xz,然后解压,把inculde和lib64里的文件复制到cuda中

sudo cp ./include/cudnn.h /usr/local/cuda-11.6/include/
sudo cp ./lib/libcudnn* /usr/local/cuda-11.6/lib64/
cd /usr/local/cuda-11.6/
sudo chmod a+r /usr/local/cuda-11.6/include/cudnn.h /usr/local/cuda/lib64/libcudnn*

5.配置pycharm(该部分参考https://zhuanlan.zhihu.com/p/439123487)

打开pycharm,选择相应的环境,运行

import onnxruntime as ort
import tensorrt
print(ort.get_device())
print(ort.get_available_providers())
print(tensorrt.__version__)

会出现

ImportError: libcudnn.so.8: cannot open shared object file: No such file or directory

以及

ImportError: libnvinfer.so.7: cannot open shared object file: No such file or directory

这是因为我们还得在pycharm配置一下cudnn和TensorRT的环境变量
在pycharm上面点击:run —> Edit Configuration
然后点击Environment variables这一栏最右侧的小册子图标
在这里插入图片描述点击加号,添加环境变量,这里有个很重要的点,网上的教程是仅仅把TensorRT的环境变量添加,但是实际上这还需要把cuda的环境变量一起添加,这也是之前说的本地pycharm和linux可能出现的问题之一,而这里必须以绝对路径添加
此外,还要注意的是,CUDA和TensorRT都要添加LD_LIBRARY_PATH,如果分别添加,那么会挤掉一个,所以要放在一栏里,中间用:连接(该部分参考https://blog.csdn.net/hehedadaq/article/details/113531857)
这是添加之后的
在这里插入图片描述
这是我.bashrc文件中的
在这里插入图片描述
在这里插入图片描述

您可能感兴趣的与本文相关的镜像

Qwen3-32B-Chat 私有部署镜像 | RTX4090D 24G 显存 CUDA12.4 优化版

Qwen3-32B-Chat 私有部署镜像 | RTX4090D 24G 显存 CUDA12.4 优化版

Qwen
文本生成
Qwen3

本镜像基于 RTX 4090D 24GB 显存 + CUDA 12.4 + 驱动 550.90.07 深度优化,内置完整运行环境与 Qwen3-32B 模型依赖,开箱即用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值