Windows11下Docker使用记录(五)

目录

    • 准备
    • 1. WSL安装cuda container toolkit
    • 2. win11 Docker Desktop 设置
    • 3. WSL创建docker container并连接cuda
    • 4. container安装miniconda(可选)

Docker容器可以从底层虚拟化,使我们能够在 不降级 CUDA驱动程序的情况下使用 任何版本的CUDA Toolkit,非常方便。
当然,Docker容器并不会提供真正的硬件虚拟化,而是通过隔离喝共享宿主机的操作系统内核来实现虚拟化。

准备

名称版本
win11
wsl2Ubuntu-22.04(以下简称WSL)
(Host) Driver Version537.58(不建议更高版本)

1. WSL安装cuda container toolkit

需要docker深度学习的这个必装,因为我们后续是从wsl中创建docker container。
安装说明链接:https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html
我是按以下安装的:

curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \&& curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
sed -i -e '/experimental/ s/^#//g' /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit
sudo nvidia-ctk runtime configure --runtime=docker
systemctl --user restart docker

2. win11 Docker Desktop 设置

Docker Desktop setting里设置如下,这样wsl中的docker image 和 container 也都可以在Docker Desktop这里看到。
在这里插入图片描述

3. WSL创建docker container并连接cuda

在docker中使用nvidia gpu需要使用nvidia/cuda发布的images,看tag可以选cuda-toolkit版本。我选的是11.6的,这里需要注意的是runtime版本虽然小,但是cuda-toolkit不完整,所以最后我选的是11.6.1-cudnn8-devel-ubuntu20.04在这里插入图片描述
在wsl里运行:

docker pull nvidia/cuda:11.6.1-cudnn8-devel-ubuntu20.04
# 为了保证可视化 run image 时加以下参数
docker run -it --gpus all  -e NVIDIA_DRIVER_CAPABILITIES=compute,utility -e NVIDIA_VISIBLE_DEVICES=all --name 自定义 --env="DISPLAY" --env="QT_X11_NO_MITSHM=1" --volume="/tmp/.X11-unix:/tmp/.X11-unix:rw" --device=/dev/dri:/dev/dri -p 自定义:自定义 nvidia/cuda:11.6.1-cudnn8-devel-ubuntu20.04 bash

安装VcXsrv可以可视化,可视化的部分请看这篇。
这时候已经有/cuda了。

(robodiff) root@108c7c90b1f5:/usr/local# ls
bin  cuda  cuda-11  cuda-11.6  etc  games  include  lib  man  sbin  share  src

但这时候 nvcc -V应该是不可以的,需要先给/cuda/cuda-11.6建立链接,然后在~/.bashrc里添加以下,记得source ~/.bashrc

# 给`/cuda`和`/cuda-11.6`建立链接
ln -sf /usr/local/cuda-11.6 /usr/local/cuda
export CUDA_HOME=/usr/local/cuda
export PATH=${PATH}:${CUDA_HOME}/bin
export LD_LIBRARY_PATH=${CUDA_HOME}/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

这时候nvcc -V可以,是我想要的v11.6如下图。
在这里插入图片描述

我们也可以用cuda-samples进一步验证。(此步可略)

cd /usr/local/cuda/
git clone https://github.com/NVIDIA/cuda-samples.git
cd cuda-samples
git checkout tags/v11.6 #选择指定tag的版本
cd Samples/1_Utilities/deviceQuery
make #这时候会生成名为 deviceQuery 的可执行文件
./deviceQuery #运行它会显示cuda相关的所有信息

最后一行显示了 Result = PASS 就说明我们cuda安装成功并且可以运行了。
此时,装的pytorch就可以使用GPU了。
在这里插入图片描述

4. container安装miniconda(可选)

container中可以安装 minicoda,各个版本的链接在这:https://repo.anaconda.com/miniconda/。选个自己需要的版本安装,我的版本是Miniconda3-py39_24.1.2-0-Linux-x86_64.sh

mkdir -p /opt/conda
wget https://repo.anaconda.com/miniconda/Miniconda3-py39_24.1.2-0-Linux-x86_64.sh -O /opt/conda/miniconda.sh \ && bash /opt/conda/miniconda.sh -b -p /opt/miniconda 
chmod +x /opt/conda/miniconda.sh
. /opt/miniconda/bin/activate

这时候会打开conda并创建base环境,说明我们安装成功。为了不每次打开conda都要运行. /opt/miniconda/bin/activate,我把它写在~/.bashrc里,然后source ~/.bashrc,这样打开的所有terminal都可以使用conda。
在这里插入图片描述

开始我们的深度学习吧 ~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/23913.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

音视频开发19 FFmpeg 视频解码- 将 h264 转化成 yuv

视频解码过程 视频解码过程如下图所示: ⼀般解出来的是420p FFmpeg流程 这里的流程是和音频的解码过程一样的,不同的只有在存储YUV数据的时候的形式 存储YUV 数据 如果知道YUV 数据的格式 前提:这里我们打开的h264文件,默认是YU…

储能逆变器测试负载箱是如何实现的

储能逆变器测试负载箱是专门用于模拟各种负载条件的设备,主要用于对储能逆变器进行性能测试和评估。它可以根据实际需求,模拟不同的负载类型、负载大小和负载变化率,从而为储能逆变器的设计和优化提供准确的数据支持。那么,储能逆…

【递归、搜索与回溯】搜索

搜索 1.计算布尔二叉树的值2.求根节点到叶节点数字之和3. 二叉树剪枝4.验证二叉搜索树5.二叉搜索树中第K小的元素6.二叉树的所有路径 点赞👍👍收藏🌟🌟关注💖💖 你的支持是对我最大的鼓励,我们一…

defineProps定义类型

1.props标注类型 原因&#xff1a;确保给组件传递的props是类型安全的 <script setup lang"ts"> //1.使用别名类型或者接口定义Props类型 type Props {name:stringage?:number } //2 使用defineProps注解类型 const props defineProps<Props>() <…

全年申报!2024年陕西省双软企业认定条件标准、申报好处费用

1.双软企业是什么? 答:双软认证并不是一个资质,而是"软件产品登记"和"软件企业认定"两个不同资质的统称.叫做"双软企业" 2.双软企业的优惠政策是什么? 答:(1)软件产品登记的优惠政策:软件产品增值税,从13%减按3%征收,实行即征即退; (2)软件…

2024Stable Diffusion WebUI详细使用指南

Stable Diffusion WebUI&#xff08;AUTOMATIC1111&#xff0c;简称A1111&#xff09;是一个为高级用户设计的图形用户界面&#xff08;GUI&#xff09;&#xff0c;它提供了丰富的功能和灵活性&#xff0c;以满足复杂和高级的图像生成需求。由于其强大的功能和社区的活跃参与&…

22 - 游戏玩法分析 IV(高频 SQL 50 题基础版)

22 - 游戏玩法分析 IV 考点&#xff1a; 聚合函数 # 日期相加 date_add(min(event_date),INTERVAL 1 DAY) select round(count(distinct player_id)/(select count(distinct player_id) from Activity),2) fraction fromActivity where-- 如果日期加一天的数据能在表中…

pytorch笔记:自动混合精度(AMP)

1 理论部分 1.1 FP16 VS FP32 FP32具有八个指数位和23个小数位&#xff0c;而FP16具有五个指数位和十个小数位Tensor内核支持混合精度数学&#xff0c;即输入为半精度&#xff08;FP16&#xff09;&#xff0c;输出为全精度&#xff08;FP32&#xff09; 1.1.1 使用FP16的优缺…

MySQL主从同步优化指南:架构、瓶颈与解决方案

前言 ​ 在现代数据库架构中&#xff0c;MySQL 主从同步是实现高可用性和负载均衡的关键技术。本文将深入探讨主从同步的架构、延迟原因以及优化策略&#xff0c;并提供专业的监控建议。 MySQL 主从同步架构 ​ 主从复制流程&#xff1a; 从库生成两个线程&#xff0c;一个…

20 - 每月交易 I(高频 SQL 50 题基础版)

20 - 每月交易 I -- 考点&#xff1a;日期转换格式 -- date_format(trans_date,%Y-%m)select date_format(trans_date,%Y-%m) month,country,count(*) trans_count,sum(if(stateapproved,1,0)) approved_count,sum(amount) trans_total_amount,sum(if(state"approved&qu…

【主题广泛|稳定检索】2024年食品安全与生物技术国际会议(ICFSB 2024)

2024年食品安全与生物技术国际会议&#xff08;ICFSB 2024&#xff09; 2024 International Conference on Food Safety and Biotechnology 【重要信息】 大会地点&#xff1a;贵阳 大会官网&#xff1a;http://www.icicfsb.com 投稿邮箱&#xff1a;icicfsbsub-conf.com 【注…

语言大模型qwen1.5全流程解析:微调,量化与推理

在前一篇文章中&#xff0c;主要使用llama-factory封装的推理模块对速度进行了测试&#xff0c;vllm速度快些&#xff0c;但仍没有传说中的快3-5倍&#xff0c;需要单独测试。这里使用qwen1.5-1.8B作为测试模型。 qwen1.5是qwen2的先行版&#xff0c;24年2月发布&#xff0c;与…

jenkins插件之Jdepend

JDepend插件是一个为构建生成JDepend报告的插件。 安装插件 JDepend Dashboard -->> 系统管理 -->> 插件管理 -->> Available plugins 搜索 Jdepend, 点击安装构建步骤新增执行shell #执行pdepend if docker exec phpfpm82 /tmp/composer/vendor/bin/pdepe…

ComfyUI工作流分享-黏土特效工作流

大家给的教程都是苹果端使用Remini的软件制作&#xff0c;免费白嫖7天&#xff0c;7天后就要收费&#xff0c;作为ComfyUI技术党&#xff0c;当然是选择自己实现了&#xff0c;搭建一套工作流就搞定&#xff0c;这不&#xff0c;今天就来分享一套对应的黏土效果工作流&#xff…

TSINGSEE青犀视频:城市道路积水智能监管,智慧城市的守护者

随着城市化进程的加快&#xff0c;城市道路网络日益复杂&#xff0c;尤其在夏季&#xff0c;由于暴雨频发&#xff0c;道路积水问题成为影响城市交通和市民生活的重要因素之一。传统的道路积水监测方式往往依赖于人工巡逻和简单的监控设备&#xff0c;这些方法存在效率低下、响…

CAN总线学习笔记-CAN帧结构

数据帧 数据帧&#xff1a;发送设备主动发送数据&#xff08;广播式&#xff09; 标准格式的11ID不够用了&#xff0c;由此产生了扩展格式 SOF&#xff1a;帧起始&#xff0c;表示后面一段波形为传输的数据位 ID&#xff1a;标识符&#xff0c;区分功能&#xff0c;同时决定优…

先进制造aps专题十一 国内软件/erp行业的现状及对aps行业的启示

看到一个帖子 中国软件行业几乎全军覆没 OSC开源社区 2024-06-03 15:58 广东 刚刚网上冲浪刷到的 网友锐评&#xff1a;都是客户关系型公司。 知名大 V 「Fenng」评论称&#xff1a; 这里所谓的软件行业公司如果立刻倒闭&#xff0c;才能够利好中国整个行业软件生态。有个网…

巨详细Linux安装Nacos教程

巨详细Linux安装Nacos教程 1、检查是否有残留nacos版本2、上传安装包至服务器2.1安装包获取2.2创建相关目录 3、安装Nacos4、配置Nacos4.1修改数据源4.2新建nacos数据库4.3启动nacos4.4把nacos进程交给systemctl管理4.5设置nacos开机自启动 1、检查是否有残留nacos版本 rpm -q…

Unity基础实践小项目

项目流程&#xff1a; 需求分析 开始界面 选择角色面板 排行榜面板 设置面板 游戏面板 确定退出面板 死亡面板 UML类图 准备工作 1.导入资源 2.创建需要的文件夹 3.创建好面板基类 开始场景 开始界面 1.拼面板 2.写脚本 注意事项&#xff1a;注意先设置NGUI的分辨率大小&…

问题:律师会见委托人的方式包括团体会见和( )。 #职场发展#笔记#学习方法

问题&#xff1a;律师会见委托人的方式包括团体会见和&#xff08; &#xff09;。 参考答案如图所示