Tensorrt环境安装及yolov5模型转换

Tensorrt的运行需要环境中有Opencv的编译环境,所以首先要opencv的编译

一.opencv 编译

1. 安装依赖项

    sudo apt-get install cmake
    sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev libtiff5-dev
    sudo apt-get install libgtk2.0-dev

2. 下载自己需要的版本

https://opencv.org/releases/

解压后放在自己想放的目录下,在opencv-4.5.0目录下 建立build 文件夹, 进入 build 文件夹下,打开终端

    unzip opencv-4.5.0.zip
    cd opencv-4.5.0/
    mkdir build
    cd build/

3.编译cmake

3.1.安装cmake以及依赖库

    sudo apt-get install cmake
    $ sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg.dev libtiff4.dev libswscale-dev libjasper1 libjasper-dev

错误:E: 无法定位软件包 libjasper-dev

sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt update
sudo apt install libjasper1 libjasper-dev

成功的解决了问题,其中libjasper1是libjasper-dev的依赖包

3.2.安装cmake

$ cmake ..  #使用网友的后面加一堆配置就会遇到各种报错,这种编译一直用的很顺手,没有报错

然后就等待安装完成,最后输出如下,没有报错就说成功了一半

3.3 编译

$ sudo make 或者 sudo make -j4

这里需要耐心的等待编译

3.4 安装

$ sudo make install 

对应卸载就是 :

$ sudo make uninstall 

测试 opencv 版本的。

opencv_version 

到此opencv源码编译成功。

二.TensorRT下载安装

1.对应自己的Cuda 和Cudnn以及系统的版本

$ nvcc -V 												   #查看cuda的版本
$ cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2  #查看cudnn的版本
$ cat  /etc/issue                                              #查看ubuntu系统版本

我的版本信息如下 :

2.下载

TensorRT链接

直接点击下载进入选项


这里选择一般选择相对用户比较多的版本。


注意:这里要注意选择与自己cuda和操作系统的版本相适应的下载,否则兄弟你会怀疑人生的(千万不要不符合,也不要比你的环境高也不要低,不然很麻烦,博主自己第一次按的时候没注意看,导致一直报错) 。

3.安装TensorRT

(1)将下载的压缩文件进行解压:

$ tar zxvf  TensorRT-7.2.2.3.Ubuntu-18.04.x86_64-gnu.cuda-11.1.cudnn8.0.tar.gz

(2)环境配置:

解压得到TensorRT的文件夹,将里边的lib绝对路径添加到环境变量中

vim ~/.bashrc

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/software/TensorRT-7.2.2.3/lib

刷新配置:source ~/.bashrc

(3) 安装TensorRT

$ cd TensorRT-7.2.2.3/python/
$ pip install tensorrt-7.2.2.3-cp37-none-linux_x86_64.whl 

博主亲测,这里你的python环境并没有限制,py35,py36,py37都可 ,一般安装与自己python版本对应的最稳。

#安装UFF,支持tensorflow模型转化
$ cd TensorRT-7.2.2.3/uff/
$ pip install uff-0.6.9-py2.py3-none-any.whl 

#安装graphsurgeon,支持自定义结构
cd TensorRT-7.2.2.3/graphsurgeon
pip install graphsurgeon-0.4.5-py2.py3-none-any.whl 

以上,我们就成功的将tensorRT安装完了,试着执行一下python,然后看能不能导入这些模块。 如果成功的import tensorrt,那么就算安装成功咯。

ps:import uff的时候,需要提前install tensorflow模块。

pip install tensorflow-gpu==2.4.0

(4)安装PyCUDA
PyCUDA是Python使用NVIDIA CUDA的API,在Python中映射了所有CUDA的API
安装:

     pip3 install pycuda==2021.1 

tensorrt 部署yolov5s (v5.0)参考地址:

https://blog.csdn.net/xingtianyao/article/details/111353568

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
原文地址:https://www.cnblogs.com/KdeS/p/14928201.html