[tensorrt] --- tensorrt安装及使用

本教程基于ubuntu20.04,默认安装好了nVidia驱动、cuda版本、cudnn版本,选择与之匹配的Tensorrt安装

cuda版本: 11.4
cudnn版本: cat /usr/local/cuda/include/cudnn_version.h, cudnn版本为8.2.4

1 TensorRT安装

下面分几种方法尝试安装tensorrt

方法一:使用 pip 进行安装

pip install tensorrt==8.6.1

我这边安装失败

方法二:下载 deb 文件进行安装

    os="ubuntuxx04" 
    tag="8.x.x-cuda-x.x" 
    sudo dpkg -i nv-tensorrt-local-repo-${os}-${tag}_1.0-1_amd64.deb 
    sudo cp /var/nv-tensorrt-local-repo-${os}-${tag}/*-keyring.gpg /usr/share/keyrings/ 
    sudo apt-get update sudo apt-get install tensorrt

我这边同样没安装成功

方法三:使用 tar 文件进行安装(推荐)
推荐使用这种方法进行安装,成功率较高
去官网下载对应的版本:developer.nvidia.com/tensorrt-download
在这里插入图片描述

下载好之后

tar -xzvf TensorRT-8.6.1.6.Linux.x86_64-gnu.cuda-11.8.tar.gz # 解压文件 
# 将lib添加到环境变量里面 
vim ~/.bashrc 
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:./TensorRT-8.6.1.6/lib 
source ~/.bashrc 
 
# 或 直接将 TensorRT-8.6.1.6/lib 添加到 cuda/lib64 里面 
cp -r ./lib/* /usr/local/cuda/lib64/ 
 
# 安装python的包 
cd TensorRT-8.6.1.6/python 
# 我这里conda虚拟环境是python38,所以我选择这个whl文件安装
pip install tensorrt-8.6.1-cp38-none-linux_x86_64.whl

安装好之后验证

# 验证是否安装成功: 
python 
>>>import tensorrt 
>>>print(tensorrt.__version__) 
>>>assert tensorrt.Builder(tensorrt.Logger())

2 TensorRT使用

我这边的使用的流程是:pytorch -> onnx -> tensorrt

2.1 pytorch转onnx

2.2 onnx转tensorrt

Ubuntu使用tar安装后使用 TensorrtRT-8.6.1.6/bin/trtexec 文件生成 tensorrt 模型文件
将trtexec添加到环境变量中,vim ~/.bashr

export PATH=/XXX/TensorRT-8.6.1.6.Linux.x86_64-gpu.cuda-11.8/TensorRT-8.6.1.6/bin:${PATH}

这样trtexec就可以在任意终端使用了,使用如下指令将onnx转换为.trt

./trtexec --onnx=model.onnx --saveEngine=model.trt --fp16 --workspace=16 --shapes=input:2x3x224x224

其中的参数:
–fp16:是否使用fp16
–shapes:输入的大小。tensorrt支持 动态batch 设置,感兴趣可以尝试

### 安装准备 为了成功在 Ubuntu 20.04 上安装 TensorRT,需先确认已正确安装 CUDA 和 cuDNN 版本。对于特定版本的 TensorRT (如 TensorRT 8.2.1.8),建议使用对应的 CUDA 11.4 及 cuDNN 8.2 版本[^3]。 ### 获取 TensorRT 软件包 可以从 NVIDIA 官方网站获取预编译好的 TensorRT 发行版。下载链接通常提供多种操作系统支持的选择;针对 Linux 用户而言,则应挑选适用于 x86_64 架构且基于 gnu 工具链构建的 tar 文件形式分发包。例如: ```bash wget https://developer.nvidia.com/nvidia-tensorrt-8x-tar-gz ``` 完成下载之后,在主目录下解压该压缩文件: ```bash tar -zxvf TensorRT-8.2.1.8.Linux.x86_64-gnu.cuda-11.4.cudnn8.2.tar.gz ``` 这一步骤会创建一个新的 `TensorRT` 文件夹于当前路径之下。 ### 设置环境变量 为了让系统能够识别新安装的库位置以及 Python API 接口模块,需要更新 `.bashrc` 或者其他 shell 配置文件来添加必要的环境变量设置。具体操作如下所示: ```bash echo 'export TENSORRT_DIR=$HOME/TensorRT' >> ~/.bashrc source ~/.bashrc ``` 接着追加 LD_LIBRARY_PATH 来指向 TensorRT 库的位置,并确保 PYTHONPATH 包含了 python 绑定所在的子目录: ```bash echo 'export LD_LIBRARY_PATH=$TENSORRT_DIR/lib:$LD_LIBRARY_PATH' >> ~/.bashrc echo 'export PYTHONPATH=$TENSORRT_DIR/python:$PYTHONPATH' >> ~/.bashrc source ~/.bashrc ``` 此时重启终端使上述更改生效。 ### 测试安装成果 最后可以通过运行简单的测试程序验证 TensorRT 是否被正确加载并可以正常使用。这里给出一段用于检测 UFF 解析器功能的小型 C++ 程序作为示范用途(假设已经安装好了相应的开发工具链): ```cpp #include "NvInfer.h" int main(){ nvinfer1::createInferBuilder(0); std::cout << "Successfully created the builder." << std::endl; } ``` 如果一切顺利的话,应该可以看到输出提示信息表示成功创建了 Builder 实例。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Overboom

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值