Windows下的docker容器(ubuntu)进行pytorch+paddlepaddle环境部署(GPU环境)

首先,先了解怎么在容器里面使用nvidia的GPU,就要看看容器所在的wsl下的ubuntu是否能使用GPU,输入

nvidia-smi

显示无果 nvidia在wsl都检测不了驱动,去了解了一些,原来是宿主机(windows)下的驱动太老,需要更新,需要新的cuda驱动CUDA driver for WSL
我参考的博文下文链接:

在Windows11中的Docker Desktop创建的容器内使用GPU_怎么在wsl的docker容器里面使用gpu-CSDN博客

我的GPU是MX450,更新驱动后升级为551.86版本

但是在wsl下的ubuntu输入nvidia-smi,却出错了

出现Segmentation fault,不知道什么原因还在寻找
折腾了一天,在github的wsl论坛上找到了答案,就是上面更新的cuda驱动太新了,支持不完善

链接:nvidia-smi segmentation fault in wsl2 but not in Windows · Issue #11277 · microsoft/WSL · GitHub

我的MX450的驱动从551.86降到551.23即可,结果如下:

安装流程

按照自己的试一试,更改nvidia驱动之后,创建能使用GPU的ubuntu:latest(20.04 LTS)容器

运行下面代码

# 拉起镜像
docker pull ubuntu
# 能使用gpu的容器 python_development_environment_container改成想要创建的容器名
# 8000:8000更改成端口映射
# D:/docker/volume/python_development_environment_container:/var/backend 更改挂载映射
docker run -u root -itd --gpus all --name python_development_environment_container -e NVIDIA_DRIVER_CAPABILITIES=compute,utility -e NVIDIA_VISIBLE_DEVICES=all -p 8000:8000 -v D:/docker/volume/python_development_environment_container:/var/backend ubuntu:latest /bin/bash

参考:https://www.cnblogs.com/chester-cs/p/14444247.html

在vscode进入容器之后

apt-get update
apt-get install sudo
sudo apt-get update
sudo apt-get upgrade
sudo apt install build-essential

安装CUDA,CUDA Toolkit 11.8 Downloads | NVIDIA Developer

安装好了之后

# 安装nano编辑器
sudo apt-get install nano
# 修改环境变量
nano ~/.bashrc
# 在最下面增加环境变量
export PATH=/usr/local/cuda-11.8/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-11.8/lib64:$LD_LIBRARY_PATH
export CUDA_HOME=/usr/local/cuda-11.8
# 按键Ctrl+O Enter Ctrl+X
# 刷新
source ~/.bashrc
# 验证一下
nvcc -V

继续安装cudnn,链接:cuDNN Archive | NVIDIA Developer

安装到挂载目录

# 安装压缩包软件
sudo apt install tar xz-utils
# 解压
tar -xf cudnn-linux-x86_64-8.9.5.30_cu
# 复制
cp cudnn-linux-x86_64-8.9.5.30_cuda11-archive/lib/* /usr/local/cuda-11.8/lib64/
cp cudnn-linux-x86_64-8.9.5.30_cuda11-archive/include/* /usr/local/cuda-11.8/include/
# 验证是否成功安装cudnn
cat /usr/local/cuda-11.8/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

安装miniconda3,和上一篇文章一样的做法:
Windows下的docker容器(ubuntu)进行pytorch+paddlepaddle环境部署(CPU环境)-CSDN博客

另外创建一个gpu_env里面安装下面的包

 先安装torch再是torchvision

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
任务书:企业实训Linux 一、任务概述 本次企业实训旨在让学员掌握使用Docker部署Ubuntu+Docker+MySQL环境使用shell脚本完成这个环境的能力。通过实践操作,学员将深入了解Docker容器技术的使用和管理。 二、任务要求 1. 学习Docker容器技术 学员需要掌握Docker容器技术的基本概念、使用方法和管理技巧,能够熟练使用Docker命令行工具进行容器管理。要求学员能够根据实际需要创建、启动、停止、删除Docker容器。 2. 学习部署Ubuntu+Docker+MySQL环境 学员需要掌握如何使用Docker部署Ubuntu+Docker+MySQL环境。要求学员能够独立完成环境的搭建,并能够根据实际需要进行修改和调试。 3. 学习使用shell脚本完成环境部署 学员需要掌握如何使用shell脚本完成Ubuntu+Docker+MySQL环境部署。要求学员能够独立编写脚本,并能够根据实际需要进行修改和调试。 三、任务步骤 1. 学习Docker容器技术 学员需自学Docker容器技术的基本概念、使用方法和管理技巧,并通过实践操作掌握Docker命令行工具的使用方法。具体步骤如下: (1)学习Docker容器的基本概念和使用方法。 (2)学习Docker命令行工具的使用方法,如docker run、docker start、docker stop、docker rm等。 (3)根据实际需要创建、启动、停止、删除Docker容器,并进行相关的管理操作。 2. 学习部署Ubuntu+Docker+MySQL环境 学员需自学如何使用Docker部署Ubuntu+Docker+MySQL环境,并通过实践操作独立完成环境的搭建。具体步骤如下: (1)学习如何使用Docker部署Ubuntu环境。 (2)学习如何使用Docker部署MySQL环境。 (3)根据实际需要创建、启动、停止、删除Docker容器,并进行相关的管理操作。 3. 学习使用shell脚本完成环境部署 学员需自学如何使用shell脚本完成Ubuntu+Docker+MySQL环境部署,并通过实践操作独立编写脚本。具体步骤如下: (1)学习shell脚本的基本语法和编写方法。 (2)编写shell脚本,实现自动化部署Ubuntu+Docker+MySQL环境。 (3)根据实际需要修改和调试已有的shell脚本。 四、任务总结 学员需在实训结束后,撰写一份实训总结报告。报告内容应包括学习内容、学习方法、学习心得以及实践操作中遇到的问题和解决方法等方面。同时,学员还需根据实训内容和自身情况,总结自己的优点和不足,并提出进一步提高的建议和措施。 五、任务评估 学员需按时完成任务,并在任务总结报告中详细记录实践操作过程和心得体会。评估标准如下: 1. 学习Docker容器技术,熟练掌握Docker命令行工具的使用方法。 2. 学习部署Ubuntu+Docker+MySQL环境,能够独立完成环境的搭建,并能够根据实际需要进行修改和调试。 3. 学习使用shell脚本完成环境部署,能够独立编写脚本,并能够根据实际需要进行修改和调试。 4. 实训总结报告内容完整、详细,能够清晰表达学习内容、学习方法、学习心得以及实践操作中遇到的问题和解决方法。 六、任务时限 本次实训任务时限为30天,学员需在规定时间内完成任务和实训总结报告。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值