系统:ubuntu16.04
GPU: 1060
型号:Nvidia: 430.50
cuda: 10.1
cudnn: 7.6.5
sudo gedit /etc/modprobe.d/blacklist.conf
blacklist nouveau
options nouveau modeset=0
sudo update-initramfs -u
reboot
输入
lsmod | grep nouveau
没有输出,则禁用成功
进入tty模式并关闭x server:
ctrl + alt+ F1
sudo service lightdm stop
开始安装:
sudo sh NVIDIA* -no-x-check -no-nouveau-check -no-opengl-files
完成后,可输入nvidia-smi
检测是否安装成功
sudo sh cuda_10.1_***
,sudo gedit ~/.bashrc
export PATH=/usr/local/cuda-10.1/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-10.1/lib64:$LD_LIBRARY_PATH
可输入nvcc -V
检测
tar -xavf cudnn***.tgz
,sudo cp cuda/include/cudnn.h /usr/local/cuda/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
检测:
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
sudo sh Anaconda3-*
conda create -n tensorrt python=3.5
conda activate tensorrt
官网下载TensorRT,解压并安装:
tar -xzvf TensorRT-XXX.tar.gz
sudo gedit ~/.bashrc
export LD_LIBRARY_PATH=TensorRT解压路径/lib:$LD_LIBRARY_PATH
source ~/.bashrc
进入TensorRT目录下的Python目录:
pip install tensorrt-XXX-cp35-cp35m-linux_x86_64.whl
测试:
python
import tensorrt
tensorrt.__version__
进入uff目录:
pip install uff-*.whl
测试:
which convert-to-uff
会输出安装路径
进入graphsurgeon目录
pip install graphsurgeon-*.whl
验证相关项目:
cd TensorRT-XXX/samples/sampleMNIST
make clean
make
cd /TensorRT-XXX/bin(转到bin目录下面,make后的可执行文件在此目录下)
./sample_mnist
出现数字识别结果即安装成功, 由于在实际安装过程中将TensorRT-XXX解压到了/opt/
下,所以在验证项目过程中,make时加sudo
;
1.rangenet_lib
按照该代码中的安装流程安装一些包,前面已经安装过tensorrt了,但由于本文代码是用C++实现的,所以在catkin 时,出现找不到tensorrt的问题,因此又安装了一下。因为前面安装anaconda3时,将anaconda中的python设置成默认的了, 所以此处安装进入root下安装, 并将系统默认的python2.7换成了python3.5:
sudo su
sudo cp /usr/bin/python /usr/bin/python_bak
sudo rm /usr/bin/python
sudo ln -s /usr/bin/python3.5 /usr/bin/python
此时pip
对应的是python3.5
pip install tensorrt-*.whl
检查:
python
import tensorrt
tensorrt.__version__
输出tensorrt的版本信息
在catkin
已经安装的情况下,编译代码
catkin init
catkin build rangenet_lib
opencv
的一些头文件显示没有,很大可能opencv没有安装成功pkg-config opencv --modversion
查看opencv的版本信息
2. 在rangenet_lib
文件夹的CMakeLists.txt
中增加 include_directories("TensorRT-×××的解压路径/include")
3. 编译时出现: /usr/include/yaml-cpp/node/detail/iterator.h: next is not a member of boost
查看/usr/include/boost
下有next_prior.hpp
文件,所以sudo gedit iterator.hpp
,引入头文件:#include
fatal error: dynlink_nvcuvid.h no such file or directory
, 参考opencv安装错误