【2025深度学习环境搭建-1】在Win11上用WSL2和Docker解锁GPU加速

news/2025/2/24 19:37:54

建议有:

  • 较新的win11电脑,GPU是nvidia
  • 一点点Linux基础
  • 一点点Docker基础

一、安装WSL2

【控制面板】=》【程序】=》【启用或关闭Windows功能】

打开三个功能:【Hyper-V】【Virtual Machine Platform】【适用于Linux的Windows子系统】

可能看不到Hyper-V,百度:win11没有Hyper-V
在这里插入图片描述

在管理员模式下打开 PowerShell 或 Windows 命令提示符,方法是右键单击并选择“以管理员身份运行”,输入 wsl --install 命令,然后重启计算机。

wsl --install
wsl --list --online # 显示可安装的WSL系统

在这里插入图片描述

wsl --install -d Ubuntu-24.04 # 安装Ubuntu-24.04
wsl --list # 显示本地的WSL系统

下图中可看到Ubuntu-24.04,这就是我们刚才安装的
在这里插入图片描述

1.1 启动wsl

在终端中输入wsl启动wsl

wsl  #启动wsl,要在Windows终端中运行

顺便一提,关闭wsl的命令是wsl --shutdown,要在Windows终端中运行

在【开始】菜单中找到Ubuntu-24.04,打开它
在这里插入图片描述

根据提示设置好用户名和密码

设置root用户的密码

sudo passwd # 设置root用户的密码

你的CUDA版本够新,则此时可在wsl中输入nvidia-smi查看显卡信息

nvidia-smi

在这里插入图片描述

二、安装Docker Desktop(自行换镜像源)

进入docker官网,下载Dockers Desktop

https://www.docker.com/

在右上角打开设置,如下图设置

在这里插入图片描述
在这里插入图片描述

三、安装NVIDIA Container Toolkit

nvidia-docker2 和 NVIDIA Container Toolkit 的区别及推荐
打开WSL,执行以下命令
配置生产存储库:

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

从存储库更新软件包列表:

sudo apt-get update

安装 NVIDIA Container Toolkit 软件包:

sudo apt-get install -y nvidia-container-toolkit

重启Docker(在Docker Desktop中操作也行)

sudo systemctl daemon-reload
sudo systemctl restart docker

四、确保Docker能使用GPU

注意docker拉nvidia/cuda镜像时,拉取的cuda版本不能高于本地的cuda版本

我本地的cuda版本是12.7,则我无法拉取镜像docker pull nvidia/cuda:12.6.3-base-ubuntu24.04,因为这个镜像的cuda版本是12.8

执行以下命令,正常情况下会输出nvidia显卡信息【表示本机的Docker可使用GPU】,如图所示

docker run --rm --gpus all nvidia/cuda:12.6.3-base-ubuntu24.04 nvidia-smi

在这里插入图片描述

若您认为以上cuda版本过高,则可找个低版本的镜像,
命令如下:docker run --rm --gpus all nvidia/cuda:11.0.3-base-ubuntu16.04 nvidia-smi

找镜像的网站:https://hub.docker.com/r/nvidia/cuda/tags

现在,我们可以在Docker环境中使用GPU啦!下一步我们将搭建一个深度学习环境,以满足我们的深度学习研究需求!

下一步:在Docker中搭建深度学习环境

参考

WSL 2官方安装教程

WSL 2 上的 Docker 入门

NVIDIA Container Toolkit官方安装教程

nvidia/cuda镜像搜索网站


http://www.niftyadmin.cn/n/5864751.html

相关文章

【Python + STM32 实现外设控制的从0-1实例教程-适合新手】

一、环境搭建与固件烧录 1. 硬件准备 STM32开发板:推荐支持 MicroPython 的型号(如STM32F4 Discovery、NUCLEO-F411RE)。USB转TTL模块:用于串口通信(如CH340、CP2102)。外设模块:LED、温湿度传感器(如DHT11)等。2. 软件准备 MicroPython固件:从MicroPython官网下载对…

PHP二手车置换平台系统小程序源码

二手车置换平台系统 🚗 基于ThinkPHPUniapp的创新之作:我们倾尽心力,精心打造了一款基于ThinkPHPUniapp框架的二手车置换平台小程序系统,它犹如二手车交易领域的璀璨明珠,熠熠生辉。这个平台不仅为买家和卖家搭建了一…

【数据库维护】如何解决Clickhouse数据库Too many parts报错

如何解决Clickhouse数据库Too many parts/memory exceed limit报错 问题现象 clickhouse数据库服务日志报错Too many parts.Merges are processing significantly slower than inserts exception.clickhouse数据库服务报错memory exceed limit 问题原因分析 针对单张表单个…

汽车零部件ERP软件进销存软件库存管理委外加工计算计件工资软件

本软件为给苏州某汽车零部件公司开发的进销存管理系统 软件除了基本的进销存功能外,主要是加了委外加工的部分即通过委外加工领料单与委外加工入库单来算委外加工费 及通过录入计件工资入库单来算员工计件工资。 github下载地址:https://github.com/oyan…

6. Go接口

一、接口相关概念 理解和掌握接口的使用对于写出优雅且可扩展的 Go 代码至关重要。接口是 Go 语言的核心,它提供了灵活的抽象方式,使得不同类型能够通过共享行为来合作,而不需要彼此依赖具体实现。这种机制对于模块化编程、降低耦合度以及实…

记录一下VScode可以使用nvcc编译,但VS不行的解决方案

最近在学习CUDA编程的东西,出现了一个问题Visual Studio在使用nvcc编译会报错。 D:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\vcruntime.h(197): error: invalid redeclaration of type name "size_t&q…

DeepSeek 助力 Vue 开发:打造丝滑的滑块(Slider)

前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 💕 目录 Deep…

谷歌浏览器(Google Chrome)扩展程序的安装路径(插件的安装路径)

谷歌浏览器(Google Chrome)扩展程序的安装路径(插件的安装路径),举例:AdBlock 1、点击操作栏:扩展程序--管理扩展程序--我的扩展程序 2、点击“扩展程序”,比如:AdBlock,选择“详情”,找到“ID”…