白给的ROS编程笔记——win+ubuntu双系统重新安装Ubuntu,配置ROS+深度学习开发环境全过程笔记 (一)

双系统删除并重新安装Ubuntu,配置ROS+深度学习开发环境全过程

  • 前言
  • 1. 准备工作
    • 1.1 制作启动盘
    • 1.2 使用windows自带工具删除Ubuntu系统
    • 1.3 命令行删除引导分区
  • 2. 安装和配置Ubuntu系统
    • 2.1 设置开机启动项
    • 2.2 关于Acer Nitro5 这台笔记本
    • 2.3 关于分区
    • 2.4 安装一些小工具
      • 2.4.1 系统小插件
      • 2.4.2 修改键盘映射
      • 2.4.3 截图软件及全局快捷键设置
      • 2.4.4 中文输入法
      • 2.4.5 chrome浏览器
      • 2.3.6 Nvidia显卡cuda toolkit和cuDNN的安装
  • 3 ROS和深度学习相关软件配置
    • 3.1 Anaconda
      • 3.1.1 安装过程
      • 3.1.2 常用指令
    • 3.2 ROS-Noetic
      • 3.2.1 命令行安装
      • 3.2.2 bashrc中添加环境变量
      • 3.2.3 其他
      • 3.2.4 安装验证
    • 3.3 vscode
      • 3.3.1 安装过程
      • 3.3.2 常用插件
    • 3.4 pytorch
      • 3.4.1 安装过程
      • 3.4.2 验证
    • 3.5 tensorflow(博主知识盲区,TODO)
  • 4. 创建一个ros工程示例并以vscode作为集成开发环境示例
    • 4.1 初始化ros空间
    • 4.2 创建ros包
    • 4.3 配置编译快捷键
    • 4.5 配置vscode切换anaconda虚拟环境

前言

由于各种各样的原因,已经装好的双系统里的Ubuntu崩了(主要是因为不成气候的deepin wine), 实在忍无可忍,所以重新安装Ubuntu系统。下面是记录。篇幅比较长,建议看着目录找到需要的部分进行阅读。

1. 准备工作

1.1 制作启动盘

首先进入windows系统,下在ultraiso软件,根据网上的教程制作一个系统盘。总的过程就是,先准备一个可以格式化的U盘,在ubuntu官网上下载一个ubuntu的镜像,然后使用ultraiso软件将镜像写入到格式化后的U盘里面。开机的时候选择U盘启动,进入系统盘之后按提示安装Ubuntu。

1.2 使用windows自带工具删除Ubuntu系统

这是一种比较紧单粗暴的方法,右键”我的电脑,选择”manage”或者中文的”管理”,然后在子硬盘管理下面删除掉Ubuntu系统相关的卷,一般来说应该是不带盘符的那几个卷,其中还会包括一个EFI system partition的盘(引导系统启动用的),要自行区分好,不要删错了。

白给的ROS编程笔记——win+ubuntu双系统重新安装Ubuntu,配置ROS+深度学习开发环境全过程笔记 (一)

2. 安装和配置Ubuntu系统

2.1 设置开机启动项

进入电脑的bios界面,不同电脑品牌对应的快捷键不一样,自行百度。设置为U盘启动。

2.2 关于Acer Nitro5 这台笔记本

对于Acer Nitro5 笔记本电脑,是F12进入,如果进入不了的话应该是被disable了F12选择快速启动项的功能(进入bios之后,advanced菜单里有一个F12 boot menu的选项,选择启用下次就能够直接按F12了),这时候可以开机按F2进入bios界面,在boot菜单下选择启动顺序。另外,我还在网上看到有人问怎么把SATA模式改为AHCI,而不是默认的Optane with RAID模式。这是Acer比较鸡贼的地方,网上几乎没有教程提到怎么做。其实是可以的。进入BIOS后,在Main菜单栏下,按键盘的CTRL+S,这时候会多出一个选项,就跟玩游戏弹出了一个隐藏关卡一样,甚是有趣。

2.3 关于分区

安装的时候分区选择,只需要配置最重要的三个部分:

  • /boot
  • swap
  • /
    总共的系统空间是180G左右,其中/boot我给了800MB其实是有点大了, swap area实际上是虚拟内存的空间,我给了20G,剩下的都分给了根目录,根目录会自动生成其他文件夹,所以只需要配置这三个分区即可。

由于如何安装Ubuntu系统这部分网上的教程数不胜数,再次不再鹦鹉学舌了,诸君自行百度搜索即可。

2.4 安装一些小工具

2.4.1 系统小插件

  • gedit
  • terminator
  • htop
  • tree
  • gparted

2.4.2 修改键盘映射

如果是德语键盘的话,更改键盘的映射,让y和z对调,这样打字母就跟美式键盘一样了。更改的方式如下:

然后分别按下键盘的y键和z按键, 可以看到查看keycode, y键对应的是52, z对应的是29

白给的ROS编程笔记——win+ubuntu双系统重新安装Ubuntu,配置ROS+深度学习开发环境全过程笔记 (一)保存, 退出, 重启, 就能做到按下物理z按键,屏幕上对应输出的是y字母了。

2.4.3 截图软件及全局快捷键设置

截图软件推荐使用flameshot, 它的安装和全局快捷键配置如下:

在设置中添加快捷键

白给的ROS编程笔记——win+ubuntu双系统重新安装Ubuntu,配置ROS+深度学习开发环境全过程笔记 (一) 白给的ROS编程笔记——win+ubuntu双系统重新安装Ubuntu,配置ROS+深度学习开发环境全过程笔记 (一)
最后再把chrome固定在左侧的dashboard中,以后直接单击就能打开。 这时,火狐浏览器就可以退役了。

2.3.6 Nvidia显卡cuda toolkit和cuDNN的安装

关于Nvidia,有几个概念是需要知道的, nvidia是一家设计显卡的公司名字(废话),

  • CUDA :是显卡厂商NVIDIA推出的运算平台,全称:Compute Unified Device Architecture,可以理解成一个我们不需要了解的并行计算模型,且他不需要与显卡硬件驱动 CUDA Driver适配。
  • CUDA Driver: 与实际硬件适配的驱动。
  • NVCC: 显卡的编译器
  • CUDA TOOLKITCUDA TOOLKIT 包含了一系列的编译器,科学计算库,一堆的API,CUDA DriverCUDA TOOLKIT 的子集,所以安装CUDA TOOLKIT一定会同时安装CUDA Driver,反之则不是。
  • cuDNN :全称NVIDIA CUDADeep Neural Network library, 是一个专门为了深度学习开发的库,有了它,才能在pytorch, tensorflow上使用Nvidia的GPU训练网络。

可以参考这位博主的详细讲解, https://blog.csdn.net/qq_42406643/article/details/109545766, 安装不迷茫!
上面讲了这么多,重点来了。不同的需求需要安装的东西是不一样的:

  • 电脑看视频,分屏功能,玩游戏,剪辑视频需要用到显卡加速: CUDA Driver 就够了。
  • 训练深度学习网络: CUDA TOOLKIT以及cuDNN

如果是后者,那么我们需要关注版本适配的问题,前面说到了安装CUDA TOOLKIT会同时安装CUDA Driver, 而不同显卡适配的CUDA Driver是不同的。所以相当于CUDA TOOLKIT的安装版本由显卡型号决定。而cuDNN负责沟通深度学习和显卡计算平台,需要与计算工具CUDA TOOLKIT适配。剩余的pytorch, tensorflow相应的需要与计算接口cuDNN适配。所以这所有的错综复杂的关系最终可以串称一条单向的关系链。

显卡型号 -> 决定CUDA Driver版本 -> 决定 CUDA TOOLKIT的安装版本 -> 决定cuDNN 版本 -> 决定pytorchtensorflow版本

搞清楚了这些,我们开始搜集线索,开始安装我们的驱动。下面给大家推演一遍:

手上的显卡是RTX 3050,
https://www.nvidia.com/zh-tw/geforce/drivers/ 适配的CUDA版本有495到515。

直接上CUDA TOOLKIT, 通过查阅官方的适配文档 https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html 可以看出,cuda toolkit需要选择11.5及以上的版本。

白给的ROS编程笔记——win+ubuntu双系统重新安装Ubuntu,配置ROS+深度学习开发环境全过程笔记 (一)进一步看cuDNN 的版本 版本下载的链接中有提示 https://developer.nvidia.com/rdp/cudnn-archive

根据pytorch的安装指令 https://pytorch.org/get-started/locally/

白给的ROS编程笔记——win+ubuntu双系统重新安装Ubuntu,配置ROS+深度学习开发环境全过程笔记 (一)将上面的指令都执行完后,重启电脑。然后在命令行中输入命令

可以得到CUDA的驱动版本和CUDA的版本,以及GPU的内存使用情况

白给的ROS编程笔记——win+ubuntu双系统重新安装Ubuntu,配置ROS+深度学习开发环境全过程笔记 (一)

最后我们再来安装一下cuDNN,然后再在下文新建的ros工程下跑一个cnn的demo验证cuDNN安装是否成功。

cuDNN的安装过程极致简洁,我们通过nvidia-smi命令已经确认了CUDA TOOLKIT的版本是11.6,也就是说现在激活的是 /usr/local 路径下的 cuda-11.6 文件夹,我们只需要把cuDNN的静态链接库等文件复制粘贴到对应的文件夹下即可。但,起码11.6版本是只有deb安装包,直接下载安装即可。

  1. 先下载cuDNN安装包
    如果稍微认真一点观察,不难发现,cuDNN v8.3之后只需要下载ubuntu对应的deb包就行了,不需要再下载压缩包然后把某部分代码复制粘贴到指定的文件夹下。登录官网账号,下载,然后

    白给的ROS编程笔记——win+ubuntu双系统重新安装Ubuntu,配置ROS+深度学习开发环境全过程笔记 (一)由上图可见运行没有问题,GPU正常运行。

    3 ROS和深度学习相关软件配置

    3.1 Anaconda

    3.1.1 安装过程

    进入anaconda的官网: https://www.anaconda.com/products/individual, 直接下载安装包

    白给的ROS编程笔记——win+ubuntu双系统重新安装Ubuntu,配置ROS+深度学习开发环境全过程笔记 (一)
    开一个新的终端,试着输入python, 如果弹出错误,则执行:

    sudo ln -s /usr/bin/python3 /usr/bin/python

    将python3 软链接到python这个指令里面,如果弹出了这个错误:

    ln: failed to create symbolic link ‘/usr/bin/python’: File exists

    则删除这一项之后再继续执行软链接:

    sudo rm /usr/bin/python

    3.1.2 常用指令

    conda env list
    conda activate <环境名>
    conda deactivate <环境名>
    conda create -n <环境名> python=<版本号>
    conda install <包名>=<版本号或者不需要给这个参数>
    conda remove -n <环境名> –all

    3.2 ROS-Noetic

    3.2.1 命令行安装

    参考链接:http://wiki.ros.org/noetic/Installation/Ubuntu

    3.2.2 bashrc中添加环境变量

    3.2.3 其他

    3.2.4 安装验证

    白给的ROS编程笔记——win+ubuntu双系统重新安装Ubuntu,配置ROS+深度学习开发环境全过程笔记 (一)

    3.3.2 常用插件

    下面我们下载一些vscode常用插件, 这篇博文 https://juejin.cn/post/6996188623305441287 里面记录了36中常用的vscode插件,我们挑选了一些用过且需要的进行安装:

    • Material Icon Theme
    • Power Mode
    • vscode-fileheader
    • better comments
    • todo highlight
    • Bracket Pair Colorization Toggler
    • Path intellisense
    • todo tree
    • code runner

    还有一些开发环境需要的插件

    • c/c++
    • c/c++ extension pack
    • python
    • python extension pack
    • python indent
    • ros
    • catkin tool
      白给的ROS编程笔记——win+ubuntu双系统重新安装Ubuntu,配置ROS+深度学习开发环境全过程笔记 (一)
      运行成功,没毛病!

      3.5 tensorflow(博主知识盲区,TODO)

      知识盲区,暂未涉及,待定

      4. 创建一个ros工程示例并以vscode作为集成开发环境示例

      4.1 初始化ros空间

      先使用命令行初始化一个ros工作空间,注意关注ros工程的文件结构以及在什么路径下执行什么命令行

      白给的ROS编程笔记——win+ubuntu双系统重新安装Ubuntu,配置ROS+深度学习开发环境全过程笔记 (一)

      4.2 创建ros包

      接着我们再创建一个ros包,按提示依次输入包名hello_rospack和依赖包名roscpp rospy std_mgs geometry_msgs sensor_msgs 使用空格隔开即可。

      白给的ROS编程笔记——win+ubuntu双系统重新安装Ubuntu,配置ROS+深度学习开发环境全过程笔记 (一)
      白给的ROS编程笔记——win+ubuntu双系统重新安装Ubuntu,配置ROS+深度学习开发环境全过程笔记 (一)最后直接使用键盘ctrl+shift+B,就可以愉快地编译工程了,并没有特别复杂的操作。

      4.5 配置vscode切换anaconda虚拟环境

      首先键盘输入ctrl+shift+P,召唤出输入框,然后输入Python: select interpreter, 这时候会弹出所有可选的环境类型,选择其中一个,比如我选了新建的env_pytorch, 之后,使用在ros包中创建一个python文件,然后点击python文件的编辑界面。可以看到右下角多了一个新的东西,有的vscode版本会出现在左下角。单击他可以切换环境。

      白给的ROS编程笔记——win+ubuntu双系统重新安装Ubuntu,配置ROS+深度学习开发环境全过程笔记 (一)
      以上就是我从下午两点多决议重装系统,傍晚做了个饭,晚上继续撸到快十二点,间间断断地实践,总共装卸了两次,总结出的Ubuntu 20.04系统下,RTX3050显卡,从零开始配置的ROS+深度学习编程环境的总结。将会不定时更新。

      希望对刚入门的同学有所帮助。祝明天搬砖愉快!

      2022年8月28日
      Dianye Huang

      文章知识点与官方知识档案匹配,可进一步学习相关知识CS入门技能树Linux入门在线安装软件24758 人正在系统学习中

      来源:无始之始

      声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年7月26日
下一篇 2022年7月26日

相关推荐