Win10使用Linux子系统(WSL2)进行深度学习训练

1.使用场景

希望拥有Linux系统开发深度学习程序的便捷性,和Windows系统日常工作的高效性。

为什么不用虚拟机:

虚拟机(如VMware等)安装的Linux系统无法使用Windows系统中的显卡进行深度学习程序加速。

2.步骤概况

  1. 开启windows体验计划,并更新系统至较高预览版本。
  2. 安装英伟达对wsl2的显卡驱动(NVIDIA Drivers for CUDA on WSL)。
  3. 安装wsl2。
  4. 从windows商店安装Ubuntu系统。
  5. 安装CUDA Toolkit 。

Or

      6.安装Docker Desktop 使用合适的容器开发。

3.详细操作步骤

3.1开启windows体验计划,并更新系统至较高预览版本

  • 将你的账户注册为预览体验机会账户

        https://insider.windows.com/zh-cn/

  • 前往【开始菜单】>【设置】>【更新和安全】>【Windows 预览体验计划】,选择【开始】,然后点击【确认】
  • 登录上一步骤中的微软帐户,然后点击【继续】
  • 选择“快”通道,以保证能更新至足够新的预览版本(确保等于或高于Build version 20145 )。
  • 选择“立即重启”
  • 前往【开始菜单】>【设置】>【更新和安全】>【Windows 更新】,选择【检查更新】然后等待电脑更新。(需要重启)

3.2安装英伟达对wsl2的显卡驱动

3.3安装WSL2

  • 启用适用于 Linux 的 Windows 子系统

        以管理员身份打开 PowerShell 并运行

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
  • 启用虚拟机功能

        以管理员身份在 PowerShell 运行

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

        运行成功后重启计算机。

  • 前往以下链接,下载并安装WSL2 Linux内核包

        https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi

  • 将 WSL 2 设置为默认版本

        以管理员身份在 PowerShell 运行

wsl --set-default-version 2

3.4从windows商店安装Ubuntu系统

  • 可以安装ubuntu、Ubuntu 18.04 LTS 或 Ubuntu 20.04 LTS等版本

  • 输入账户名,密码,以开启你的ubuntu系统

  • 在ubuntu命令行中使用nvidia-smi命令获得显卡信息,以检查上述步骤的正确性。

Note: 由于是windows的显卡驱动,无法具体查看某个进程的GPU使用情况,将一直显示“No running processes found ”,但可通过上面的GPU总内存使用情况检查程序是否正确使用显卡。

3.5在Ubuntu 18.04 LTS中安装CUDA Toolkit和相关开发环境

  • 设置库并更新
$ apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub

$ sh -c 'echo "deb http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64 /" > /etc/apt/sources.list.d/cuda.list'

$ apt-get update
  • 安装cuda
$ apt-get install -y cuda-toolkit-11-0
  • 安装python,对应版本的Pytorch,并验证cuda的可用性

        

4.使用Docker Desktop容器进行开发(推荐,可选)

4.1推荐理由

  • 无需在ubuntu中安装任何cuda版本(也就是步骤3.5不必要)。
  • 可以同时运行多个不同版本的开发环境(如Python版本不同,Pytorch版本不同,Cuda版本不同)。
  • 开发环境无需安装,只需在网上(一般为Docker Hub)拉取下来用。

4.2使用方法

  • 前往以下地址下载并安装Docker Desktop

        https://www.docker.com/products/docker-desktop

  • 在linux子系统(ubuntu)中使用docker命令查看安装是否正常

    ​        Linux子系统实际使用了windows中安装的Docker,两个平台所有docker数据共用

  • 去docker hub寻找并拉取一个带有合适开发环境的docker镜像(如:1.9.0-cuda10.2-cudnn7-devel)

除了docker hub,英伟达也为深度学习开发提供了官方的docker镜像。使用容器开发的优点就在于此时你能随意选择需要的python,pytorch,cuda等版本。并且拉取之后就直接能用,无需安装。

  • 从镜像生成容器
docker run --gpus all -it -v local/path:container/path image_name:tag /bin/bash

注:

要使用gpu环境,需要加--gpus xx指定使用的具体gpu,all表示使用机器中所有的gpu。

-v 用来将本地的一个地址挂载到container当中,以方便container与本地的交互。

-it 表示以交互式的方法开启一个终端,此时你的命令行为容器内部的命令行

image_name为容器名;tag为版本名需要指定,如不指定则默认tag=latest

/bin/bash 为在容器内运行的命令

  • 检查cuda是否可用

        

由于显卡驱动是windwos版本,容器内部不能使用nvidia-smi指令,可以用以上方法查看显卡是否可用。

  • (可选)使用vscode直接使用docker

在vscode安装插件“Docker”之后,可以直接操作docker镜像

从镜像创建容器后,可以使用vscode直接进入该容器,此时所有的操作都在该容器内,这样可以直接在容器内修改代码。

  • (可选)docker快速入门(2,3个小时即可看完)

Docker 仓库管理 | 菜鸟教程 (runoob.com)

参考链接

如何加入微软 Windows 10/11 预览体验计划? - 知乎

CUDA on WSL :: CUDA Toolkit Documentation

安装 WSL | Microsoft Docs

<think>好的,用户的问题是在Windows 10系统上为AMD RX 590显卡安装ROCm。我需要先回顾一下ROCm的相关信息。根据引用[1],ROCm目前仅支持Linux系统,Windows暂不支持。这意味着用户的需求在官方支持的范围内暂时无法实现。 接下来,用户的显卡型号是RX 590。需要确认该显卡是否被ROCm支持。引用[1]提到RX 6000系列及以下使用ROCm 5.4.2,但引用[3]指出某些AMD GPU可能需要通过设置环境变量来强制兼容,例如设置HSA_OVERRIDE_GFX_VERSION。不过,RX 590属于较旧的GCN架构,可能不在官方支持列表中。 用户可能希望找到替代方法在Windows使用ROCm。目前官方不支持,但或许有社区提供的解决方案,如WSL。引用[2]提到安装PyTorch for ROCm,但同样是在Linux环境下。因此,建议用户考虑使用WSL安装Linux子系统,然后在其中安装ROCm。但需要注意显卡驱动是否兼容WSL。 另外,用户可能需要检查RX 590的架构是否符合ROCm的要求。例如,ROCm通常需要特定的GPU架构版本,如Vega或RDNA。RX 590属于Polaris架构(gfx803),而引用[3]提到某些gfx版本可能需要覆盖设置,但能否成功不确定。 总结可能的回答步骤:首先说明ROCm不支持Windows,建议使用LinuxWSL;其次检查显卡兼容性,可能需要环境变量覆盖;最后提供替代方案,如使用兼容的框架或考虑硬件升级。</think>根据当前ROCm的官方支持情况和AMD显卡的兼容性,Windows 10系统上无法直接安装ROCm。以下是详细分析和替代方案: ### 1. **ROCm对操作系统的限制** - ROCm仅支持Linux系统(如Ubuntu、CentOS等),**不支持Windows**[^1][^2]。因此,在Windows 10上原生安装ROCm目前不可行。 ### 2. **RX 590显卡的兼容性** - AMD RX 590基于Polaris架构(gfx803),而ROCm官方支持的GPU需满足以下条件: - 需为**Vega(gfx9xx)或RDNA(gfx10xx)架构**的显卡[^3]。 - RX 590的架构(gfx803)不在官方支持列表中,但部分用户尝试通过**覆盖GFX版本**强制运行。例如: ```bash export HSA_OVERRIDE_GFX_VERSION="9.0.0" ``` 这种方法可能无法保证稳定性或功能完整性。 ### 3. **替代方案** - **方案1:通过WSL使用Linux环境** 1. 在Windows 10中安装**Windows Subsystem for LinuxWSL)**并选择Ubuntu发行版。 2. 在WSL中尝试安装ROCm,需确保显卡驱动兼容性。但需注意:**AMD Windows驱动与WSL的ROCm兼容性未经验证**,可能仍需Linux原生驱动支持。 - **方案2使用其他框架** - **PyTorch DirectML**:支持AMD显卡在Windows上进行深度学习训练,无需ROCm。 - **TensorFlow with DirectML**:微软提供的兼容方案,支持AMD显卡。 - **方案3:安装Linux双系统** 直接安装Ubuntu等Linux发行版,并参考ROCm官方文档安装驱动。 ### 4. **风险提示** - 强制覆盖GFX版本可能导致程序崩溃或计算结果错误。 - RX 590的显存容量(8GB)可能限制大规模模型训练。 ### 总结 在Windows 10上为RX 590安装ROCm**无官方支持**,建议通过WSL尝试或转向其他框架(如PyTorch DirectML)。如需完整支持,需切换至Linux系统。
评论 30
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值