docker 训练深度学习_使用docker部署deepo深度学习训练环境

原标题:使用docker部署deepo深度学习训练环境

划重点:

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

1.本文由 veryGPU.com 赞助播出

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

VeryGPU.com

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

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

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

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

一、安装系统

最重要的步骤为:重启进入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/sd

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 <

[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 <

{

"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返回搜狐,查看更多

责任编辑:

你可能感兴趣的:(docker,训练深度学习)