机器配置:Ubuntu18.04 Nvidia3090 英特尔CPU
环境配置:Ros_Melodic cuda11.1 cudnn8.1.0 tensorrt7.2.3
开始搭建:Ubuntu18.04完整安装新系统
说明:记录教材具有时效性和特殊性(即:时间长了可能有问题,别人可以你却不行)
ps:按照别人完整的搭建记录我却出现很多bug,只能自己记录
ubuntu截图:设置---设备---键盘---复制选区截图到剪贴板(Ctrl+Alt+A)
1.初始化
换源:清华源
sudo apt-get update
sudo apt-get install make
sudo apt install cmake
sudo apt install openssh-server
sudo apt-get install python3-pip
查看版本
make -v
g++ -v
gcc -v
pip -V
cmake --version
可选项
Ubuntu20.04FanQiang
http://www.manongjc.com/detail/26-nsrbksrcybvhrom.html
https://github.com/Fndroid/clash_for_windows_pkg/releases
https://zhuanlan.zhihu.com/p/598337110
安装VScode
https://code.visualstudio.com
sudo dpkg -i visual_code_1.69.2-1658162013_amd64.deb
Pip永久换源:
清华源
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
阿里源
pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/
腾讯源
pip config set global.index-url http://mirrors.cloud.tencent.com/pypi/simple
豆瓣源
pip config set global.index-url http://pypi.douban.com/simple/
中科大
pip config set global.index-url https://pypi.mirrors.ustc.edu.cn/simple/
Pip换回默认源
pip config unset global.index-url
2.cuda11.1(deb方式安装要和tensorrt7.2.3deb安装匹配否则bug)
deb方式安装cudn包含显卡驱动无需在提前安装显卡驱动
家目录下打开终端
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-ubuntu1804.pin
sudo mv cuda-ubuntu1804.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/11.1.1/local_installers/cuda-repo-ubuntu1804-11-1-local_11.1.1-455.32.00-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu1804-11-1-local_11.1.1-455.32.00-1_amd64.deb
sudo apt-key add /var/cuda-repo-ubuntu1804-11-1-local/7fa2af80.pub
sudo apt-get update
sudo apt-get -y install cuda
添加环境变量:
sudo gedit ~/.bashrc
export CPATH=/usr/local/cuda-11.1/targets/x86_64-linux/include:$CPATH
export LD_LIBRARY_PATH=/usr/local/cuda-11.1/targets/x86_64-linux/lib:$LD_LIBRARY_PATH
export PATH=/usr/local/cuda-11.1/bin:$PATH
source ~/.bashrc
nvcc -V
显示版本号。
3.cudnn8.1.0(deb安装)
cudnn选择的版本是8.1.0,同样从官网的下载入口,选择Download cuDNN v8.1.0 (January 26th, 2021), for CUDA 11.0,11.1 and 11.2
sudo dpkg -i libcudnn8_8.1.0.77-1+cuda11.2_amd64.deb
sudo dpkg -i libcudnn8-dev_8.1.0.77-1+cuda11.2_amd64.deb
sudo dpkg -i libcudnn8-samples_8.1.0.77-1+cuda11.2_amd64.deb
3.1 安装测试(重点)
cudn:
nvidia-smi
cudnn:
cuDNN的示例程序会产生在/usr/src/cudnn_samples_v8目录,可以拷贝目录至用户自己的目录进行测试,如下:
cp -r /usr/src/cudnn_samples_v8 .
然后用其中的mnist示例进行测试:
cd cudnn_samples_v8/mnistCUDNN
进行编译
make
其中如果出现缺少FreeImage.h头文件的错误,这是因为没有安装freeimage的库。
另开终端进行如下安装
sudo apt install libfreeimage3 libfreeimage-dev
再进行make就可以通过。之后运行
./mnistCUDNN
出现字符信息:Test passed! 表示测试通过安装成功
4. tensorRT7.2.3安装
TensorRT 7.2.3的安装也很简单,从官方下载入口选择TensorRT 7.2.3 for Ubuntu 18.04 and CUDA 11.1 & 11.2 DEB local repo package
进行安装。
sudo dpkg -i nv-tensorrt-repo-ubuntu1804-cuda11.1-trt7.2.3.4-ga-20210226_1-1_amd64.deb
sudo apt-key add /var/nv-tensorrt-repo-ubuntu1804-cuda11.1-trt7.2.3.4-ga-20210226/7fa2af80.pub
sudo apt-get update
sudo apt-get install tensorrt
sudo apt-get install python3-libnvinfer-dev
sudo apt-get install uff-converter-tf
sudo apt-get install onnx-graphsurgeon
测试:
在终端输入dpkg -l | grep TensorRT
,输出如图。
终端依次输入:
python3
import tensorrt
tensorrt.__version__
成功显示版本号,则安装成功。这一步完成只能说明TensorRT和python的依赖安装成功,并不能说明TensoRT就能使用了,需要再测试一下。
cd /usr/src/tensorrt/data/mnist/
pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple
python3 download_pgms.py
提示错误无读写权限:
sudo chmod -R 777 mnist/
再次运行:
python3 download_pgms.py
把/usr/src/tensorrt的tensorrt复制到家目录下:
cd tensorrt/samples/sampleMNIST
make
cd ../../bin
./sample_mnist
有识别数字输出的成功。
5.Ros_Melodic安装(不知道要不要用到先装上了)
设置源:
sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'
添加密钥:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F42ED6FBAB17C654
sudo apt update
在终端输入以下命令完整安装:
sudo apt install ros-melodic-desktop-full
接下来就是漫长的等待
注解:这个命令将安装完整的ROS软件,包括ROS,rqt,rviz,机器人通用库,2D / 3D模拟器,导航和2D / 3D感知等等的全套基础组件(新手强烈建议安装这个就好。
设置环境变量:在终端输入以下命令后回车
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc
注解:这个步骤是让你的 bash终端 以后可以识别 roscore,rosrun等命令。
下载其他功能组件:在终端输入以下命令后回车
sudo apt install python-rosdep python-rosinstall python-rosinstall-generator python-wstool build-essential
这些组件可以构建和管理开发者自己的ROS工作空间,强烈建议安装。详情见 :[Ros官网]
rosdep init 初始化:
sudo pip3 install rosdepc
sudo rosdepc init
rosdepc update
sudo rosdep fix-permissions
测试:在终端输入
roscore
开启第二个终端输入
rosrun turtlesim turtlesim_node
会出现一个小海龟
最后开启第三个终端输入
rosrun turtlesim turtle_teleop_key
接下来就可以通过方向键控制海龟的移动。
6. rangenet_lib库构建:
安装依赖:
sudo apt-get update
sudo apt-get install -yqq build-essential python3-dev python3-pip apt-utils git cmake libboost-all-dev libyaml-cpp-dev libopencv-dev
sudo apt install python-empy
sudo pip install catkin_tools -i https://pypi.tuna.tsinghua.edu.cn/simple
sudo pip install trollius -i https://pypi.tuna.tsinghua.edu.cn/simple
sudo pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple
编译rangenet_lib库
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
git clone https://github.com/ros/catkin.git
git clone https://github.com/PRBonn/rangenet_lib.git
cd .. && catkin init
catkin build rangenet_lib
按照此教程30系显卡怎么配置修改代码以及无效了,原因是你安装的版本都是对的但是有些依赖已经发生更新:python3-libnvinfer库已经发送变化了,这就是时效性,虽是变化不大,但也调试2天,代码小白无奈。改动如下:
rangenet_lib/cmake/tensorrt-config.camke 13、23行处
rangenet_lib/include/netTensorRT.hpp
把第十一行#include <NvOnnxParserRuntime.h>
注释掉。
rangenet_lib/src/netTensorRT.hpp 450+、511、543行
catkin build rangenet_lib
有警告但是通过。
Rangenet++部分完结(耗时良久,推荐Timeshift软件建立Ubuntu系统备份和还原减少重装系统次数,蓝受不香菇)。
编译后第一次运行时间还是可以的
编译后第2到多次运行时间非常长,多次尝试都是,有知道原因的可以评论区解答下。
SUMA++部分
opencv查看版本:Ros_Melodic安装自带opencv3.2
pkg-config --modversion opencv
下面就挺容易的了,这里传送门,这里readme部分,配置路径,基本不出错了。
完结撒花!!!最左上角保存pose路径txt文件结束^_^
推荐大神:深度学习-ubuntu18.04+RTX3080下安装rangnet++推理版踩坑全纪录
————————————————
参考出处:
30系显卡怎么配置rangenet++和SuMa++_52HZ、的博客-CSDN博客_suma_dns
【语义地图】Ubuntu18.04 Suma++代码配置运行_suma++运行_Duuu7的博客-CSDN博客
Ubuntu下CUDA的卸载以及安装(deb方式和run方式)
linux中python遇到PermissionError [Errno 13]LeGO-LOAM 复现(Ubuntu18.04、ROS Melodic、gtsam)_ros-melodic-gtsam_Demolinux中python遇到PermissionError [Errno 13]