使用docker部署deepo深度学习训练环境(以ubuntu为例)

划重点:

0.爬坑不易,欢迎转载本文以帮助更多的兄弟(姐妹),但要求您保持veryGPU.com链接,谢谢!

1.本文由 veryGPU.com 赞助播出,GPU出租价格全网最低

2.重点一在ubuntu安装显卡驱动

3.重点二在安装显卡效能与风扇调节程序以保护显卡

4.重点三在安装适用于nvidia的docker程序

以上三个重点都有巨坑,但按本文指引照做则是坦途,有问题请留言,以下为正文

零、更新视频教程

https://www.bilibili.com/video/av79554541/

一、安装系统

最重要的步骤为:重启进入BIOS关闭secure boot,此步若不操作,显卡驱动将不会起效

系统要求:ubuntu 18.04或以上

1.1 更换root密码

sudo passwd root

1.2 开启root ssh

sudo nano /etc/ssh/sshd_config

进入配置文件,将PermitRootLogin的注释去掉,然后将后面的参数值改为yes

1.3 重启

service sshd restart
reboot

1.4 ubuntu 18.04换到阿里云源

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo nano /etc/apt/sources.list

删除原内容替换为以下为源内容

deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multivers

update一下

apt update && apt upgrade

二、格式化第二块硬盘(此处为3T)

查看磁盘信息

sudo fdisk -l

Disk /dev/sdb: 238.5 GiB, 256060514304 bytes, 500118192 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 5EA87C6C-F960-4229-B11D-B8A6DD3105DE
 
Device  Start  End  Sectors  Size Type
/dev/sdb1  2048  1050623  1048576  512M EFI System
/dev/sdb2  1050624 500115455 499064832  238G Linux filesystem
 
Disk /dev/sda: 2.7 TiB, 3000592982016 bytes, 5860533168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes

2T以下磁盘的操作:

sudo fdisk /dev/sda

之后进入command状态,大概是这么操作的:

输入 m 查看帮助
输入 p 查看 /dev/sdb 分区的状态
输入 n 创建sdb这块硬盘的分区
选 p primary =>输入 p
Partition number =>分一个区所以输入 1
其他的默认回车即可
最后输入 w 保存并退出 Command 状态。

2T以上磁盘的操作:

parted /dev/sda
 
mklabel gpt
 
mkpart primary 0KB 3001GB
 
sudo mkfs.ext4 /dev/sda1
sudo mkdir /home/baidu/ext_data
sudo mount /dev/sda1 /home/baidu/ext_data

图示:

在这里插入图片描述
查看uuid

sudo blkid
将硬盘加入fstab,以便自动挂载

sudo nano /etc/fstab

UUID=19eaf440-e368-42a4-b8f1-11a83bf8d10d / ext4 defaults 0 0
UUID=c91765c2-05cc-4184-bcb1-159a74d226b0 /home/baidu/ext_data ext4 defaults 0 0

三、安装显卡驱动

安装之前先卸载已经存在的驱动版本:

sudo apt-get remove --purge nvidia* 

3.1 禁用nouveau

sudo nano /etc/modprobe.d/blacklist-nouveau.conf

在最后一行加上:

blacklist nouveau
blacklist lbm-nouveau
options nouveau modeset=0
alias nouveau off
alias lbm-nouveau off

保存以后运行

sudo update-initramfs -u

重启输入以下命令查看是否有输出,如果没有输出就禁止成功了

lsmod | grep nouveau

如果依然有输出,则进入以下步骤

sudo apt-get install dkms build-essential linux-headers-generic
echo options nouveau modeset=0 | sudo tee -a /etc/modprobe.d/nouveau-kms.conf
sudo update-initramfs -u

重启看下nouveau是否被屏蔽了

lsmod | grep nouveau

3.2.使用标准Ubuntu 仓库进行自动化安装

 sudo apt install ubuntu-drivers-common

这种方法几乎是所有的示例中最简单的方法,也本教程最为推荐的方法。首先,检测你的NVIDIA显卡型号和推荐的驱动程序的模型。在命令行中输入如下命令:

ubuntu-drivers devices

输出为:

== /sys/devices/pci0000:00/0000:00:02.0/0000:05:00.0 ==
modalias : pci:v000010DEd00001E07sv000010DEsd000012FAbc03sc00i00
vendor  : NVIDIA Corporation
driver  : nvidia-driver-435 - distro non-free recommended
driver  : nvidia-driver-430 - distro non-free
driver  : xserver-xorg-video-nouveau - distro free builtin

从输出结果可以看到,目前系统已连接Nvidia 显卡,建议安装驱动程序是 nvidia-435版本的驱动。如果您同意该建议,请再次使用Ubuntu驱动程序命令来安装所有推荐的驱动程序。输入以下命令:

 sudo ubuntu-drivers autoinstall

一旦安装结束,重新启动系统。

sudo reboot 

重启后 ,输入以下命令查看显卡信息

sudo nvidia-smi  

在这里插入图片描述
四、根据温度自动调节显卡风扇

操作步骤

git clone https://github.com/liqiang311/set-gpu-fans.git
mv set-gpu-fans /opt
apt-get update
apt-get install -y xinit tcsh
cd /opt/set-gpu-fans
chmod +x cool_gpu
chmod +x nvscmd
apt install supervisor
sudo nano /etc/supervisor/conf.d/cool_gpu.conf

输入以下内容

[program:cool_gpu]
command=nohup ./cool_gpu &
directory=/opt/set-gpu-fans
user=root
autostart=true
autorestart=true
stderr_logfile=/var/log/supervisor/cool_gpu.err.log

启动以控制风扇

sudo supervisorctl update

sudo supervisorctl reload
sudo supervisorctl start cool_gpu

查看是否成功

sudo nvidia-smi

有 /usr/lib/xorg/Xorg 8MiB 在跑,说明成功

在这里插入图片描述
重启测试是否可以自动跑

五、 安装 docker

sudo apt install docker.io

六、安装nvidia-container-runtime

运行以下命令

# Add the package repositories
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list

更新

sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit
sudo systemctl restart docker

安装nvidia-container-runtime

sudo apt-get install nvidia-container-runtime

继续

sudo mkdir -p /etc/systemd/system/docker.service.d
sudo tee /etc/systemd/system/docker.service.d/override.conf <<EOF
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd --host=fd:// --add-runtime=nvidia=/usr/bin/nvidia-container-runtime
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

继续

sudo tee /etc/docker/daemon.json <<EOF
{
  "runtimes": {
  "nvidia": {
  "path": "/usr/bin/nvidia-container-runtime",
  "runtimeArgs": []
  }
  }
}
EOF
sudo pkill -SIGHUP dockerd

配置docker自动启动

systemctl enable docker.service

七、 安装deepo

deepo GitHub 地址 ufoym/deepo

官方源下载

docker pull ufoym/deepo

网易源下载

 docker pull hub-mirror.c.163.com/ufoym/deepo

启动 deepo

docker run --runtime=nvidia -d  -v /home/baidu/ext_data:/ext_data -v /host/baidu/config:/config -v /home/baidu/data:/data -v /home/baidu/jupyter:/root -it -p 8888:8888 -p 2022:22 --ipc=host --restart=always ufoym/deepo:all-jupyter jupyter notebook --no-browser --ip=0.0.0.0 --allow-root --NotebookApp.token= --notebook-dir='/root' 

能看到容器启动信息,则说明安装成功

八、结语

关于deepo的使用,待新开长文另行介绍,如果您或同学朋友需要租用GPU,不可错过http://veryGPU.com

非常GPU - GPU出租,显卡租赁,2080TI出租

www.verygpu.com
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值