win10/11下wsl2安装gpu版的pytorch(避坑指南)

0x00 注意

  • 不想折腾的不要弄了,老老实实用windows,现在WSL坑还很多。
  • 想安装的一定要看官方文档!!在文末
  • 本教程只说明在安装了 WSL2 后,并且默认系统是 win11 下安装中的一些坑,当然也可以帮助你快速排查问题。
  • 你可能会遇到很多问题,但是这就是你尝试新鲜事物的代价喽,不过欢迎留言区评论~
  • 最后成功的环境是win11 、GPU Driver 版本是512.15、CUDA 版本是11.6、 WSL2 Linux内核版本是5.10.102.1
  • 本文对 minicondapytorch 篇幅较少,可以通过查阅其他博客自行安装。

0x01 一定要先检查硬性版本条件

大多数人都会死在这里的第一步,原因是没有检查 wsl2 使用 gpu 所需要的硬性环境到底是什么。然后后面根本装不上。

1. GPU Driver 版本

注意:这里的GPU driver是安装在windows上的,不是wsl中

  • 直接升级到最新版本的吧,460多,470多的版本太老旧了。我理解的官方文档是说需要471.21 版本之后的才可以。
  • 我这里升级完是 512.15版本,匹配 CUDA 11.6版本的
  • 升级步骤
    • 我是有这个NVIDIA GeForce Experience的,所以按照图中的首先选到驱动程序,然后直接检查更新文件即可,安装的时候使用默认的安装方式便可。
      win10/11下wsl2安装gpu版的pytorch(避坑指南)_第1张图片
    • 没有的话就直接到 NVIDIA 官方驱动地址 查询下载。

2. WSL2 内核版本

  • 微软官方wsl安装教程
  • 安装完 WSL2wsl cat /proc/version 查看,我的这里是5.10.102.1
    在这里插入图片描述
  • 一定要大于5.10.43.3!
  • 没有的话要进行升级,设置->windows更新->高级选项->接收其他产品的更新
    win10/11下wsl2安装gpu版的pytorch(避坑指南)_第2张图片

3. 系统版本

  • 前面也提到了,win10 一定要升级到21H2版本的
  • win11 在操作系统版本这里没坑

0x02 安装CUDA Toolkit

  • NVIDIA Toolkit地址

  • 这里的CUDA Toolkit 版本应该要与driver版本匹配,匹配与否查看这里

  • 这里的坑在于要安装wsl-ubuntu版本的,而不是 ubuntu 版本的
    win10/11下wsl2安装gpu版的pytorch(避坑指南)_第3张图片

  • 在 wsl 命令行按照图示的指令运行就行。

  • 安装完成后nvcc -V 应该是显示不出来版本的。需要在~/.bashrc文件下做环境变量的配置。vim ~/.bashrc 在最下面添加这几行。

export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PAT
  • 刷新环境 source ~/.bashrc,运行nvcc -V会有 CUDA版本的输出。
    win10/11下wsl2安装gpu版的pytorch(避坑指南)_第4张图片

  • 这个时候 CUDA Toolkit 就应该已经安装好了,测试的话可以运行下面的命令。

    • 注意:这里 cuda11.6 版本已经将samples移除了,cuda11.6 可以通过激活conda下的python环境运行 import torchprint(torch.cuda.is_available())根据是否输出True判断cuda环境安装好没好
cd /usr/local/cuda/samples/4_Finance/BlackScholes
make BlackScholes
./BlackScholes

查看是否运行成功,还是报错这个东西。这里可坑了,一般都会卡在这里

CUDA error at ../../common/inc/helper_cuda.h:777 code=35(cudaErrorInsufficientDriver) "cudaGetDeviceCount(&device_count)

如果报错这个,那么请你检查自己的所有版本CUDA Driver、 windows11、 WSL内核是否匹配。

  • 装错了怎么卸载cuda1 ------------- 装错了怎么卸载cuda2

0x03 安装miniconda或者conda

miniconda和conda的不同在于如果你只需要python的虚拟环境并且安装一些依赖包的话,miniconda就够了。比较精巧

  • 下载地址
    win10/11下wsl2安装gpu版的pytorch(避坑指南)_第5张图片
  • 在 windows 上下载之后可以切换到下载的目录安装。比如你下载到了d盘,那么cd /mnt/dls 就可以发现在这里。
    在这里插入图片描述
  • bash Mniconda3-latest-Linux-x86_64.sh安装就好,直接根据提示进行安装就行,这个教程很多,我就不再详细说了。安装之后需要 conda init 一下,不然找不到conda环境。

0x04 安装gpu版本的pytorch

  • 在conda的python环境下,切换到清华源,pip install torch就行
  • 完了尝试下面的命令看是否输出 True,如果是False说明CUDA没装好。
import torch
torch.cuda.is_available()

0x05 官方文档

https://docs.microsoft.com/en-us/windows/ai/directml/gpu-cuda-in-wsl

https://docs.nvidia.com/cuda/wsl-user-guide/index.html#getting-started-with-cuda-on-wsl

https://developer.nvidia.com/cuda/wsl

0x06 总结

  • 官方文档一定要认真看!!!里面其实写的很清楚了,版本什么的。我只是看了下然后写出来了而已。这个坑很多,建议不喜欢折腾的就老老实实用 Windows 或者纯正的 Linux,不要折磨自己。
  • 有什么问题欢迎留言,我会尽量帮你解决的~~ 对你有帮助的话点个赞吧,谢谢 O(∩_∩)O~

你可能感兴趣的:(机器学习,Linux,pytorch,深度学习,linux,windows,wsl2)