1. 从GitHub下载源码:https://github.com/nvidia/TensorRT
2. 构建Docker镜像:
Ubuntu 18.04 with cuda-10.2
$ docker build -f docker/ubuntu.Dockerfile --build-arg UBUNTU_VERSION=18.04 --build-arg CUDA_VERSION=10.2 --tag=tensorrt-ubuntu .
3.开启容器
$ nvidia-docker run -v $TRT_RELEASE:/tensorrt -v $TRT_SOURCE:/workspace/TensorRT -it tensorrt-ubuntu:latest
1. 从官网下载TensorRT的Release版本:https://developer.nvidia.com/tensorrt
2. Deb安装TensorRT:
os=”ubuntu1x04”
tag=”cudax.x-trt7.x.x.x-ga-yyyymmdd” # 如下载的文件是:nv-tensorrt-repo-ubuntu1804-cuda10.2-trt7.0.0.11-ga-20191216_1-1_amd64.deb,
sudo dpkg -i nv-tensorrt-repo-${os}-${tag}_1-1_amd64.deb
sudo apt-key add /var/nv-tensorrt-repo-${tag}/7fa2af80.pub # *.pub是/var/nv-tensorrt-repo-${tag}下的文件
sudo apt-get update
sudo apt-get install tensorrt
Python 2.7:
sudo apt-get install python-libnvinfer-dev
Python 3.x:
sudo apt-get install python3-libnvinfer-dev
如果使用TensorFlow使用TensorRT
sudo apt-get install uff-converter-tf
3. 验证安装是否正确:
dpkg -l | grep TensorRT
1. tensorRT安装成功后,YOLOv3_ONNX的例子在 /usr/src/tensorrt/samples/python/yolov3_onnx目录下。
2. 安装依赖环境:
Python2:
python2 -m pip install -r requirements.txt
Python3:
python3 -m pip install -r requirements.txt
在安装环境依赖时需要安装pycuda,使用pip 安装失败,错误信息如下,最后使用源码安装成功。
3. 将darknet-yolov3模型转onnx模型
python yolov3_to_onnx.py [只支持python2]
4. onnx模型转TensorRT模型,并运行:
python onnx_to_tensorrt.py
源码安装安装pycuda
参考: https://wiki.tiker.net/PyCuda/Installation/Linux/Ubuntu
1. 设置cuda环境变量:
export PATH="/usr/local/cuda/bin:${PATH}"
export LD_LIBRARY_PATH="/usr/local/cuda/lib64:${LD_LIBRARY_PATH}"
2. 安装依赖项:
$ sudo apt-get install build-essential python-dev python-setuptools libboost-python-dev libboost-thread-dev -y
3. 下载源码并解压:
下载地址:https://pypi.org/project/pycuda/
$ tar xzvf pycuda-VERSION.tar.gz
4. 配置并编译安装
$ cd pycuda-VERSION
## python2.7
$ ./configure.py --cuda-root=/usr/local/cuda --cudadrv-lib-dir=/usr/lib --boost-inc-dir=/usr/include --boost-lib-dir=/usr/lib --boost-python-libname=boost_python-py27 --boost-thread-libname=boost_thread
## python 3.x
$ ./configure.py --python-exe=/usr/bin/python3 --cuda-root=/usr/local/cuda --cudadrv-lib-dir=/usr/lib/x86_64-linux-gnu --boost-inc-dir=/usr/include --boost-lib-dir=/usr/lib --boost-python-libname=boost_python-py3
pycuda安装 cuda.h文件找不到问题
参考:https://blog.csdn.net/u011337602/article/details/87936331
(1)cuda.h这个文件的确找不到,添加cuda.h的搜索路径即可。
export PATH="/usr/local/cuda/bin:${PATH}"
export LD_LIBRARY_PATH="/usr/local/cuda/lib64:${LD_LIBRARY_PATH}"
(2)未添加CUDA_INC_DIR到 /etc/profile
在/etc/profile最后两行添加
export CUDA_INC_DIR=/usr/local/cuda/include/:${CUDA_INC_DIR}
保存并执行source /etc/profile
(3)安装pycuda使用的是sudo pip3 install pycuda
这种情况下,执行的root权限,但由于pycuda安装时会使用nvcc,而nvcc是不具有root权限的,所以会导致安装失败。
因此需要去掉sudo,只在用户权限下执行pip3 install pycuda,即可安装成功。