Linux中利用docker搭建深度学习环境

写在前面:

在深度学习中,避免不了在远程服务器上进行模型的训练,如果直接在服务器裸机的基础环境跑显然是不可取的,此时搭建用于模型训练的docker环境显得尤为重要。

1.下载基础镜像

选择一个合适的基础镜像会给后续的操作带来极大的便利,其中ufoym/deepo镜像是笔者最常用的一个,输入如下命令下载基础镜像

docker pull ufoym/deepo

下载好后,输入如下命令,列表中若出现ufoym/deepo则下载成功

docker images

2.创建docker容器

根据下载好的镜像来创建容器,基本的格式为:docker run --runtime=nvidia -it --name 容器名称 --gpus all -v /服务器基础环境下的目录:/容器中的目录 ufoym/deepo bash

  • -name 设置容器名称
  • -gpus 指定GPU个数
  • -it 交互式进入
  • -v 设置文件映射路径

举例如下:

docker run --runtime=nvidia -it --name LiteHRNet --gpus all -v /home/mq/lsh/My_Project:/home ufoym/deepo bash

创建成功后,输入如下指令,列表中NAMES栏中若出现你所创建的容器名称,则创建成功

docker ps -a

3.进入docker容器

启动容器,一般格式为 docker start 容器名称

docker start LiteHRNet

进入容器,一般格式为 docker attach 容器名称

docker attach LiteHRNet

或者 docker exec -it 容器名称 bash,也可以进入容器

docker exec -it LiteHRNet bash

4.测试容器

进入容器后输入如下指令若出现显卡信息窗口,则容器创建成功

nvidia-smi

Linux中利用docker搭建深度学习环境_第1张图片

5.在容器中配置conda环境(以下步骤可以省去,但强烈建议加上)

进入容器后,所需要的项目文件也已经映射进来,可以进行项目调试了。但很多包是要在conda环境下安装,或者在conda环境下安装更为稳定(如笔者就喜欢用conda来安装pytorch),并且有了conda环境也会使得容器更佳的整洁,易于多项目时的管理。

1. 下载Linux版的Annaconda

链接:https://pan.baidu.com/s/1QI1512CXMq0QP2BNfPcL8g?pwd=10jz
提取码:10jz

2. 安装Linux版的Annaconda

进入到含有安装包的目录下,运行如下命令,按照提醒逐步安装,注意最后会有一个提醒是否安装VS code,选择no

sh Anaconda3-5.3.1-Linux-x86_64.sh
3. 添加conda环境变量
  • 进入配置文件
vim ~/.bashrc
  • 添加如下命令,此处路径为anacodda3实际安装路径一般在/root/anaconda3
export PATH=/home/xxxx/anacodnae/bin:$PATH
  • 添加完后激活环境
source ~/bashrc
4.修改conda镜像源

修改镜像源后后期下载pytorch,cudatoolkit和python速度都会有很大的提升
Linux下更改conda镜像源

5.创建conda环境
  • 添加conda环境,一般格式为conda create -n 环境名称 python=版本
conda create -n LiteHRNet python=3.7
  • 进入conda环境
conda activate LiteHRNet

当前面的小括号中出现环境名称时,说明conda环境创建成功

至此环境搭建成功!

6.搭建好环境后使用流程
  • 打开xhell或者类似的软件

  • 利用docker start LiteHRNet 开启容器

  • 利用docker attach LiteHRNet 进入容器

  • 进入容器后,利用conda activate LiteHRNet进入conda环境

  • cd home就可以看到映射进容器的项目

  • 至此就在在该目录下进行操作了

你可能感兴趣的:(学习笔记,linux,深度学习,docker)