Framework | Docker & Nvidia-Docker

Introduction

1.1 tips

  • a container is designed to virtualize a single application, and all containers deployed on a host share a single OS kernel.1
  • docker containers are platform-agnostic, but also hardware-agnostic.1
  • docker images are built layer-by-layer and the layers can be shared with multiple images to save disk space on the host (as well as deployment time).1
  • there are some differences when installing nvidia-docker between version 1.0 and version 2.0, nvidia-docker 1.0 must register runtime, just follow as nvidia-docker github. More detail can be seen in this 优快云 blog.2

Installation

1.1 download

  • download the docker from link (password: 6i8g)

1.2 install docker-ce and nvidia-docker 2.0

# cd docker foler

sudo dpkg -i libltdl7_2.4.6-2_amd64.deb
sudo dpkg -i docker-ce-cli_19.03.3~3-0~ubuntu-bionic_amd64.deb
sudo dpkg -i containerd.io_1.2.6-3_amd64.deb
sudo dpkg -i docker-ce_19.03.3\~3-0\~ubuntu-bionic_amd64.deb
docker -v

# nvidia-docker 2.0
sudo dpkg -i libnvidia* nvidia*
sudo pkill -SIGHUP dockerd
nvidia-docker -v 

1.3 alter to ali source

sudo gedit  /etc/docker/daemon.json

# append
{
    "registry-mirrors":["http://hub-mirror.c.163.com"] 
}

# restart docker
sudo systemctl daemon-reload  
sudo systemctl restart docker

1.4 add user to docker group

sudo gpasswd -a ${USER} docker

sudo systemctl restart docker

newgrp - docker

Reference


  1. Nvidia Docker ↩︎ ↩︎ ↩︎

  2. 优快云 blog ↩︎

### 如何在Docker容器中进行机器学习模型训练 #### 创建并配置Dockerfile 为了能够在Docker容器内顺利执行机器学习模型的训练过程,首先需要定义一个合适的`Dockerfile`文件来描述所需的软件环境以及安装必要的库和工具。对于基于PyTorch这样的深度学习框架而言,通常会指定基础映像为官方提供的GPU支持版本,并在此基础上添加额外的需求。 ```dockerfile FROM pytorch/pytorch:1.8.0-gpu WORKDIR /app COPY . . RUN pip install --no-cache-dir -r requirements.txt CMD ["python", "train.py"] ``` 此段代码展示了如何设置一个简单的Dockerfile以供后续构建镜像之用[^4]。 #### 下载预构建的基础镜像 考虑到效率问题,在实际操作过程中往往会选择直接从公共仓库获取已经预先打包好的适合特定任务需求的基础镜像而非完全自定义整个环境。例如可以从阿里云拉取之前制作过的大型机器学习模型训练专用镜像: ```bash sudo docker pull registry.cn-hangzhou.aliyuncs.com/dink_framework/dink0.22:latest ``` 这条命令能够快速获得一个包含了所有必需组件的大约19GB大小的镜像文件[^2]。 #### 启动带有GPU加速功能的支持容器实例 当涉及到利用图形处理器(GPU)来进行高效计算的任务时,则需确保所使用的Docker引擎具备相应的驱动程序支持。通过安装NVIDIA-Docker插件可以实现这一点,从而允许容器内部的应用访问宿主机上的CUDA资源完成更高效的运算处理。 启动带GPU支持的容器可以通过如下方式实现: ```bash nvidia-docker run -it --rm \ -v $(pwd):/workspace \ dink_framework:dink0.22 bash ``` 上述指令不仅启用了GPU硬件加速特性还挂载了当前目录作为共享卷以便于数据交换与持久化存储。 #### 编写并测试训练脚本 最后一步是在新建立起来的安全隔离环境中编写具体的Python或其他编程语言编写的训练逻辑代码。由于该阶段主要关注算法本身的设计优化而不涉及太多外部因素干扰因此相对独立简单得多。一旦完成了初步调试验证之后就可以考虑将其封装入到自动化流水线当中进一步提升生产力水平。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值