WSL2(Ubuntu20)安装cuda11+PyTorch

在尝试了很多方法,包括官方方案后,唯有此种方法可行,成功使得 torch.cuda.is_available() 输出为True

0. 首先完全卸载之前在wsl中安装的各种cuda、cudnn等(全新安装可跳过)

  1. apt安装的和cuda相关内容,可以 sudo apt remove --purge cuda,之后再 sudo apt autoremove --purge
  2. pip安装的和cuda、Pytorch相关内容,如pip uninstall torch torchvision
  3. 删除 /var 目录下cuda和cudnn相关文件或文件夹
  4. 删除 /usr/local 目录下cuda和cudnn相关文件或文件夹
  5. 删除 /etc/apt/source.list.d/ 目录下 cuda和cudnn相关文件
  6. 删除 ~/.bashrc 文件中设置的环境变量,并 source ~/.bashrc

1. 在Windows中下载显卡驱动

https://developer.nvidia.com/cuda/wsl/download
驱动只需给windows安装即可,wsl中不再安装驱动。

2. 添加软件源

新建一个文件: /etc/apt/source.list.d/cuda.list
并在其中输入:deb https://developer.download.nvidia.cn/compute/cuda/repos/ubuntu2004/x86_64 /
(注意管理员权限,若是Ubuntu18,只用将上述连接中的2004改为1804即可)

保存后更新软件源:

sudo apt update

可能会出现找不到秘钥的情况,只需将所缺秘钥加入即可,例如报错如下:
The following signatures couldn't be verified because the public key is not available: NO_PUBKEY A4B469963BF863CC
则只需执行

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A4B469963BF863CC

之后再次更新软件源sudo apt update即可

3. 安装cuda-toolkit

首先确定安装版本号,确保之后的pytorch有相应适配的版本,例如选择安装cuda11.3版本,则终端执行命令:

sudo apt install cuda-toolkit-11-3

(在输入了cuda-toolkit之后可以使用 Tab 键补全,查看目前可以安装哪些版本)

安装好后,还需安装一些补充包:

sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev

最后,打开~/.bashrc文件,在最后加入环境变量(注意版本号):

export PATH=/usr/local/cuda-11.3/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-11.3/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

保存关闭后,执行 source ~/.bashrc 使之生效。
如果在终端执行

nvcc -V

能打印出版本信息,则安装成功。

4. 安装pytorch

执行

pip install torch==1.10.2+cu113 --extra-index-url https://download.pytorch.org/whl/cu113

即可,其中具体版本号不确定时,可以仅执行pip install torch== --extra-index-url https://download.pytorch.org/whl/cu113 (cu113表示cuda11.3版本)
执行后会提示可以安装的具体版本号。

5. 验证pytorch

进入python,
执行

import torch
print( torch.cuda.is_available() )

若输出为 True ,则成功!

你可能感兴趣的:(环境配置与安装管理,pytorch,cuda,wsl)