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. 下载自己需要的版本
解压后放在自己想放的目录下,在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