栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

WSL2(Ubuntu20)安装cuda11+PyTorch

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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 ,则成功!

暑期编程PK赛 得CSDN机械键盘等精美礼品!
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1016091.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号