Ubuntu下自用软件配置全纪录(施工中)

Ubuntu下自用软件配置(SLAM+Tensorflw)全纪录

Ubuntu断断续续用了将近两年了,也算踩了无数的坑,被各个配置折腾了一遍又一遍。

在这里对自己曾经犯的错误和应当使用的正确方式进行记录。

1.任务目标及软硬件环境说明

1.1 任务目标

首先来说一下自己在用的软件环境所需要包含的内容:
1、首先是python+tensorflow+cuda+cudnn等,用于深度学习、opencv的Python环境。
2、其次是C++ +OPENCV+PCL等,用于视觉slam学习和编程的环境。
3、最后是几个比较习惯的IDE和常用软件的安装。

写到这里,可能正在看的你应该也就明白了,这的东西主要是写给我自己看的。

1.2 硬件配置

其次是当前正在使用的硬件配置。
CPU:AMD Ryzen2600  6C12T oc 3.9Ghz
不得不说amd现在真的很不错了,主要还是线程数足够多这点真的是人类福音,配置slam环境时,编译安装各个库,都是靠着make -j8、j9,甚至j10,替我节省了大量的时间,之前所说的在锐龙一代上使用linux产生的各种问题也都没有产生。
但是也有一定的局限性,python下的opencv是基于numpy的,而numpy对于intel平台有更好的支持,当我在python下使用使用opencv的时候,个别情境下产生了明显的延迟(我并不确定这是否是由于锐龙平台的原因,毕竟我没有一台8500或者8600k进行横向比较,只能和一台G4560比较,但是相较之下,G4560在这个任务下表现更好。)

GPU:RTX 2060
2060是搭载张量核心(tensor cores)的显卡之中最便宜的入门产品,理论上可明显提升张量运算的速度和效率,这在我测试一些简单模型的时候的确有所体会。同时,张量核心允许显卡以fp16加载模型,牺牲模型精度从而将等效现存翻倍,这个的话,仅仅是听说,以及了解过相应的技术规格,并没有进行实际的测试,因此有待后续验证。

内存:2*8G 的海力士CJR内存
做过dl的人应该都知道内存>显存的道理,因此选择了16G,如果后续使用fp16,依旧足够。

2. 安装系统和系统基本设定

系统:ubuntu 16.04
​ 默认系统语言:英语,主要是保证文件的路径中只有英文,避免由于编码方式产生问题。
​ 进系统之后,首先修改apt-get软件源为清华的tuna。
​ 然后修改时间同步规则,否则回到win下时间会错乱12小时

3 .显卡驱动安装

采取进入tty文本的方式安装显卡驱动。

4. python环境配置

​ 我选择anaconda作为python解释器,conda的好处就应该不需要我多说了,这里依旧选择清华的tuna作为下载源软件源。

4.1 下载安装anaconda

​ 全程都是在命令行下大概是最蛋疼的一点了

4.2 启动和配置anaconda navigator

​ 我的原则是能使用图形界面就绝不敲命令行

在navigator里添加国内的第三方源

​ 敲命令是不可能敲命令的,这辈子都不可能敲的。

4.3 新建环境1——tensorflow

​ 这个环境主要用于深度学习的程序,所以就叫这个名字了
​ python版本为3.6
​ 反正就是绝对不要用最新的
​ 勾选tensorflow-gpu、matplotlib、numpy等常用库,以及nb  coda用于jupyter下切换虚拟环境。

4.4 新建环境2——opencv

​ 这个环境主要用于opencv的程序
​ python版本为2.7

5. SLAM环境配置

这大概是我最痛苦的地方了,各个问题都被我经了历了一遍。

5.1 安装git

5.2 git clone slambook

5.2 apt安装eigen等

5.3 编译安装sophus、ceres、g2o等

5.3.1 soghus

5.3.1 ceres

5.3.1 g2o

​ 使用1604按照视频和书中的安装步骤可以运行ch6的g2o程序,但是ch11的g2o_viewer则无法使用,所以 从一开始就应该不遵循书中做法,以下提供正解。

​ 首先ubuntu16.04下正常使用g2o首先要删除可能存在的qt4并安装qt5

	sudo apt-get remove qt4-qmake

	sudo apt-get install libqglviewer-dev

	sudo apt-get install qtdeclarative5-dev

​ 解压g2o,找到g2o文件夹下的cmake_moudules/FindQGLViewer.cmake文件,修改其中一部分

find_library(QGLVIEWER_LIBRARY_RELEASE
  NAMES qglviewer-qt4 qglviewer QGLViewer QGLViewer2
  PATHS /usr/lib
        /usr/local/lib
        /opt/local/lib
        /sw/lib
        ENV QGLVIEWERROOT
        ENV LD_LIBRARY_PATH
        ENV LIBRARY_PATH
  PATH_SUFFIXES QGLViewer QGLViewer/release
)
find_library(QGLVIEWER_LIBRARY_DEBUG
  NAMES dqglviewer dQGLViewer dQGLViewer2 QGLViewerd2
  PATHS /usr/lib
        /usr/local/lib
        /opt/local/lib
        /sw/lib
        ENV QGLVIEWERROOT
        ENV LD_LIBRARY_PATH
        ENV LIBRARY_PATH
  PATH_SUFFIXES QGLViewer QGLViewer/release
)

替换成

find_library(QGLVIEWER_LIBRARY_RELEASE
  NAMES qglviewer QGLViewer qglviewer-qt5 QGLViewer-qt5
  PATHS /usr/lib
        /usr/local/lib
        /opt/local/lib
        /sw/lib
        ENV QGLVIEWERROOT
        ENV LD_LIBRARY_PATH
        ENV LIBRARY_PATH
  PATH_SUFFIXES QGLViewer QGLViewer/release
)
find_library(QGLVIEWER_LIBRARY_DEBUG
  NAMES dqglviewer dQGLViewer dqglviewer-qt5 dQGLViewer-qt5 QGLViewerd2
  PATHS /usr/lib
        /usr/local/lib
        /opt/local/lib
        /sw/lib
        ENV QGLVIEWERROOT
        ENV LD_LIBRARY_PATH
        ENV LIBRARY_PATH
  PATH_SUFFIXES QGLViewer QGLViewer/release
)

之后再进行编译安装

cd g2o

mkdir build && cd build

cmake ..

make -j8	(AMD:8条线程而已,拿去用)

sudo make install -j8

5.4 编译安装opencv3

5.5 编译安装vtk

​ 在运行test demo后第五章的点云库拼接的时候遇到了visualization.h缺失的问题,但是在usr目录中可以找到该文件,通过在cmakelists中使用绝对路径的方法最终的确能够实现对这一头文件的引用,但是总归怕出现其他问题,于是就重新编译安装了PCL,而在PCL的编译过程中有一步提示了我,visualization 不会被built,原因是缺少vtk模块,于是在这里先编译安装vtk。

首先解压vtk

cd vtk

mkdir build && cd build

cmake ..

sudo make -j8 (不好意思,12条线程的cpu就是可以为所欲为)

sudo make install -j8

5.6 编译安装点云库(PointCloudLab、PCL)

安装依赖项

sudo apt-get update  
sudo apt-get install git build-essential linux-libc-dev  
sudo apt-get install cmake cmake-gui   
sudo apt-get install libusb-1.0-0-dev libusb-dev libudev-dev  
sudo apt-get install mpi-default-dev openmpi-bin openmpi-common    
sudo apt-get install libflann1.8 libflann-dev  
sudo apt-get install libeigen3-dev  
sudo apt-get install libboost-all-dev  
sudo apt-get install libvtk5.10-qt4 libvtk5.10 libvtk5-dev  
sudo apt-get install libqhull* libgtest-dev  
sudo apt-get install freeglut3-dev pkg-config  
sudo apt-get install libxmu-dev libxi-dev   
sudo apt-get install mono-complete  
sudo apt-get install qt-sdk openjdk-8-jdk openjdk-8-jre  

5.7 apt安装Meshalab

	sudo apt-get install meshlab

5.8 编译安装gtsam

git clone https://bitbucket.org/gtborg/gtsam.git

cd gtsam

mkdir build && cd build`

cmake ..

make -j8	(AMD:8条线程而已,拿去用)

sudo make install -j8

在build ch11过程中可能会出现错误,此时,找到文件

/usr/local/lib/cmake/GTSAM/GTSAMConfig.cmake

sudo chmod 666 GTSAMConfig.cmake

将第17行的find_dependency改成find_package之后保存,并恢复只读权限

sudo chmod 444 GTSAMConfig.cmake

5.9 八叉树地图

sudo apt-get install doxygen
git clone https://github.com/OctoMap/octomap.git
cd octomap

mkdir build && cd build`

cmake ..

make -j8	

sudo make install -j8
sudo apt-get install libqglviewer-dev-qt4       (没错,我又把qt4装回来了)
cd octivies

mkdir build && cd build`

cmake ..

make -j8	

sudo make install -j8

6. IDE安装配置及常用软件安装

6.1 pycharm

6.2 kdevelop的安装及汉化

	sudo apt-get install cmake

	sudo apt-get install kdevelop
汉化
	sudo apt-get install aptitude

	aptitude search kdevelop

	sudo apt-get install kdevelop-l10n

开启kdevelop后,在Help—switch application language中选择简体中文后重新启动kdevelop,界面就是中文的了。

6.3 konsole

sudo apt install konsole

6.4 chrome

​ 至今我依旧不知道怎么讲界面固定为中文,虽说在命令行下启动可以暂时语言,但是关掉之后重启就又变回英文了,遗憾。

6.5 typora

wget -qO - https://typora.io/linux/public-key.asc | sudo apt-key add -

sudo add-apt-repository 'deb https://typora.io/linux ./'

sudo apt-get update

sudo apt-get install typora

6.6 teamviewer

​ 由于teamviewer提供了deb的安装包,因此只需下载之后双击install即可安装使用。

6.7 搜狗拼音输入法

猜你喜欢

转载自blog.csdn.net/Alaife_1007/article/details/89344778
今日推荐