Docker深度学习

  • 感谢卢指导!
  • 安装出现错误GPG Err解决方案为:
1
2
3
4
5
rm /etc/apt/sources.list.d/cuda.list
rm /etc/apt/sources.list.d/nvidia-ml.list
apt-key del 7fa2af80
apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/3bf863cc.pub
apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64/7fa2af80.pub

Docker 安装

1. Docker 安装

1.1 卸载旧版本

1
sudo apt-get remove docker docker-engine docker.io

1.2 安装依赖项

由于 apt 源使用 HTTPS 以确保软件下载过程中不被篡改。因此,我们首先需要添加使用 HTTPS 传输的软件包以及 CA 证书。

1
2
sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common

1.3 添加源和密钥

为了确认所下载软件包的合法性,需要添加软件源的 GPG 密钥。

设备未设置代理:使用 aliyun 镜像
1
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

sources.list 添加 Docker 软件源

1
sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs)  stable"
设置了代理:使用官方源
1
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

sources.list 添加 Docker 软件源

1
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

Nvidia Driver Installation

初始教程

  1. 查看系统显卡 lspci | grep -i vga,会弹出设备编号,在这里找到对应的型号,然后在这里下载
  2. 下载对应驱动 位于Downloads路径下的NVIDIA-Linux-x86_64-450.80.02.run
  1. 卸载之前的显卡驱动 sudo apt-get automove --purge nvidia-×
  2. 给.run文件权限 sudo chmod a+x xxx.run
  3. 关闭图形界面 ctrl+alt+f1
  4. 关闭lightdm服务 sudo service lightdm stop
  5. 安装驱动 sudo xxx.run -no-x-check -no-nouveau-check -no-opengl-files
  6. 打开lightdm sudo service lightdm start
  7. 如果没反应,再试试 sudo syetemctl start gdm.service or sudo syetemctl enable gdm.service
  8. 打开图形化界面 ctrl+alt+f7
  9. 重启

最近更新

  • Ubuntu22.04似乎不用这么麻烦了,直接重装完之后就有显卡驱动了,试图卸载过,但是重装失败,还不如直接用预先安装好的。

  • ubuntu电脑自动开启Security Boot之后显卡驱动会挂掉,需要进入bios,在Security 中找到Security Boot,调整成为Disable,然后显卡驱动就又好了。

Secure Boot本来是个好事,但是在linux下面似乎不太行,尤其是那种独立带界面的主机。参考这里

B-spline Interpolation

Kalibr

Kalibr中使用了B-spline实现位姿的内插,进而完成相机和IMU之间的时间同步标定。

ROS basic usage and manager

ROS编译

  • catkin_make是cmake,make的进一步封装。路径位于workspace下,src之上使用:catkin_makeros会自己找到src下面的源代码,并开始build,如果src下面有好几个源代码,就通过DCATKIN_WHITELIST_PACKAGES指定一个就行:
1
catkin_make -DCATKIN_WHITELIST_PACKAGES="package1;package2"
  • 安装则catkin_make install, 使用catkin_make -DCMAKE_INSTALL_PREFIX=/opt/ros/groovy install指定要安装在哪里。

  • 清理安装文件catkin_make clean

Docker用法进阶

泡泡机器人SLAM与你一同成长

使用之前先看看本地都有哪些镜像和容器。

1
sudo docker ps -a

查看现有容器以及状态。

1
2
3
4
CONTAINER ID   IMAGE                                              COMMAND                  CREATED         STATUS                   PORTS                                       NAMES
0ac8c062fa10 pointclouddl:segmentation "/bin/sh -c 'service…" 8 minutes ago Up 8 minutes 6006/tcp, 50051/tcp, 0.0.0.0:2224->22/tcp brave_kilby
cd8b9c9c5b07 stereolabs/zed:3.0-gl-devel-cuda10.0-ubuntu18.04 "/bin/bash" 4 weeks ago Exited (0) 5 hours ago jolly_feynman
af07110a5157 stereolabs/kalibr "/ros_entrypoint.sh …" 4 weeks ago Exited (0) 4 weeks ago modest_leakey

e.g.现有用于laser slam的镜像, 设置了界面,ssh,基于amazinghao/ubuntu:graph_slam_clean镜像。

1
2
CONTAINER ID   IMAGE                                COMMAND          CREATED         STATUS         PORTS                            NAMES
fe7323d95d8f amazinghao/ubuntu:graph_slam_clean "./startup.sh" 9 seconds ago Up 7 seconds 22/tcp, 0.0.0.0:5900->5900/tcp laser_slam_env

一些容器内部设置必须在创建的时候就设置好,不然就只能重新创建。比如端口映射,文件夹挂载,设置别名,虚拟内存设置,时区设置等。

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×