docker制作深度学习镜像(以windows环境下为例)

本文详述了在Windows服务器上创建深度学习Docker环境的步骤,包括安装Docker、下载镜像、创建及更新容器、挂载本地文件夹、导出与导入镜像,并解决GPU挂载及CUDA相关问题。
部署运行你感兴趣的模型镜像

记录自己在服务器上制作深度学习docker环境的一些过程和坑。

1、安装docker,参考 https://www.runoob.com/docker/docker-tutorial.html

2、下载自己需要的镜像,可以在github上搜,比如pytorch的镜像 https://github.com/anibali/docker-pytorch

docker pull anibali/pytorch:cuda-10.0

3、通过docker images查看自己机器上有的镜像

4、创建容器并且进入(如果只是更新镜像内的软件包,可以不用挂载本地目录)

docker run -it -v D:/data:/app --name test anibali/pytorch:cuda-10.0 /bin/bash

红色是本机想要挂载在docker容器里面的文件夹,蓝色是docker容器内挂载本机红色路径对应的文件夹,紫色是镜像名字
5、进入容器后,下载一些自己需要的包,exit退出
6、docker ps -a查看本地容器

7、更新镜像

docker commit -m="update" -a="an" 79096af84806 an:pytorch

红色是描述信息,紫色是镜像作者名字,黄色是第6步中的container id,绿色是要创建的镜像名称

8、再通过docker images可以看到更新好的镜像

9、导出镜像

docker save an:pytorch > D:/an.tar

10、在另一台有gpu的机器上导入自己制作的镜像

docker load < /home/an.tar

11、创建容器并挂载gpu

docker run -it -v /home/data:/app -v /usr/local/docker-inspur/nvidia-volumes/volume:/usr/local/nvidia:ro --volume-driver=nvidia-docker --device=/dev/nvidiactl --device=/dev/nvidia-uvm --device=/dev/nvidia-uvm-tools --device=/dev/nvidia0 --device=/dev/nvidia1 --name ajp an:pytorch /bin/bash

蓝色是挂载gpu,不同机器情况不一样

卸载nvidia驱动

rmmod nvidia

卸载驱动如果出现nv_peer_mem进程在使用nvidia,下面命令stop nv_peer_mem

/etc/init.d/nv_peer_mem start/stop/status

卸载cuda相关,cd到cuda-x.x文件夹下,以10.0为例

cd /usr/local/cuda-10.0/bin
./uninstall_cuda_10.0.pl

查看nvidia相关进程

lsmod | grep nvidia

如果没有nvidia-uvm,需要去编译一下Samples,随便编译一个就可以

cd /usr/local/NVIDIA_CUDA-10.0_Samples/0_Simple/clock
make
./clock

docker启动

systemctl start docker
service docker start

重启docker服务

systemctl restart docker
sudo service docker restart

关闭docker

systemctl stop docker
service docker stop

如果/dev里面没有显卡,运行如下

for i in 0 1 2 3 4 5; do
  node="/dev/nvidia$i"
  rm -f $node
  mknod $node c 195 $i  || echo "mknod \"$node\""
  chmod 0660 $node      || echo "chmod \"$node\""
  chown :video $node    || echo "chown \"$node\""
done
node="/dev/nvidiactl"
rm -f $node
mknod $node c 195 255   || echo "mknod \"$node\""
chmod 0666 $node        || echo "chmod \"$node\""
chown :video $node      || echo "chown \"$node\""

您可能感兴趣的与本文相关的镜像

PyTorch 2.5

PyTorch 2.5

PyTorch
Cuda

PyTorch 是一个开源的 Python 机器学习库,基于 Torch 库,底层由 C++ 实现,应用于人工智能领域,如计算机视觉和自然语言处理

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值