2021年wsl2中配置Ubuntu18.04+CUDA+Pytorch深度学习环境完全版

2021年4月,wsl2 中配置深度学习环境完全版(windows10 + RTX3090 + wsl2 + ubuntu18.04 + cuda + cudatoolkit11.0 + cudnn11.0 + gnome + anaconda3 + pycharm)

写在前面:

  1. 作者在全新的电脑上从零开始,且每一步都相对独立,整个环境的搭建大概一天左右,还是比较友好的。
  2. 由于整个过程是回忆记录的,难免有些遗漏,有人按照这个教程成功或者失败都可以留言,以便改进。谢谢。

1. 在 windows 中安装WSL2

① 加入windows预览体验计划,并将系统升级到特定版本以上
② 打开“适用于Linux的windows子系统”选项
(这两步请参照官网教程 ,系统版本越新越好)
③ 前两步完成后,即可直接在windows的cmd命令行中输入:

wsl --install -d Ubuntu-18.04

④等待安装完成后会自动弹出ubuntu18.04的窗口,之后会要求设置用户名和密码,照做即可。
验证: 到此为止不出错,并且能够正常显示ubuntu命令行即可。如图
在这里插入图片描述

在这里插入图片描述

2. 在 windows 中下载并安装 cuda 驱动

① 在官网按照gpu类型选择下载cuda驱动,并傻瓜安装即可。
(注意:这里的驱动是专为wsl设计的,因此整个过程是windows中的操作,不涉及ubuntu)
验证: 在 windows 的cmd命令行中输入 nvidia-smi 有显卡信息说明安装成功。在这里插入图片描述

3. 在 windows 和 ubuntu 中安装 gnome 图形界面

① 在windows中,下载 VcXsrV 并安装,具体流程参见这个网址 中 “VcXsrc 安装”部分

② 在ubuntu的命令行中,输入下面命令,等待安装完成即可。

sudo apt install ubuntu-desktop

使用方式:(下面的内容参考这里这里,只需要参考这两个连接中打开gnome的部分)

首先,在 windows 中
a. 打开 XLaunch ,选 One large window,Display number 设为 0在这里插入图片描述
b. 默认 Start on client 即可 在这里插入图片描述
c. 额外勾选 Disable access control 在这里插入图片描述
d. 继续下一步后即可看到打开的黑屏,放着备用。在这里插入图片描述
之后,在 ubuntu 的命令中输入如下命令:

sudo service dbus restart
	
sudo DISPLAY=$(grep -m 1 nameserver /etc/resolv.conf | awk '{print $2}'):0.0 XDG_SESSION_TYPE=x11 gnome-session

最后,刚在打开的黑屏中显示桌面,说明打开成功在这里插入图片描述
注意: 参考网址中关于.bashrc 的修改,可有可无,只是为了操作简便,但是我们用到桌面的机会不多,所以这里不再赘述。

注意:关于cuda驱动版本的解释

安装第4点之前需要对cuda版本做一个说明,之前被各种版本搞的相当混乱,理解了之后清晰了很多。

  1. 具体检查措施:
    ① 先去pytorch官网查看torch支持的最新的cuda版本(截止到2021年7月27日,torch推荐安装的cuda版本是11.1(当然10.2也行,这里以11.1为例),如下图
    在这里插入图片描述
    ② 再在windows命令行里输入nvidia-smi查看当前cuda的驱动版本(截图的时候我的电脑是11.3,后来自己升级成11.4了),注意这里的cuda version只要大于torch官网支持的版本(11.1)就没问题。
    在这里插入图片描述
    ③ 检查完前两步之后,就可以进行第4步(在ubuntu中安装cuda toolkit)了。注意:第4步中的toolkit版本与torch官网推荐的cuda版本保持一致(以本文为例,第4步中安装cuda toolkit 11.1);同样第5步中也应该下载支持11.1版本的cudnn。后续的版本选择按照这个原则即可。

  2. 总的来说:版本关系应该满足两条要求(可以不看):
    a) cuda toolkit(第4点),cudnn(第5点)和pytorch官网支持的cuda版本(第7点)保持一致。(本文中是11.1)
    b) cuda toolkit的版本小于等于windows中cuda驱动版本。

    解释:cuda版本分为“安装时版本”(即在windows命令行中通过nvidia-smi查看到的版本)和“运行时版本”(即在ubuntu命令行中通过nvcc -V查看到的版本)。可以简单地理解为,“安装时版本”是你的gpu能够支持的最大版本,而“运行时版本”则是实际使用时的版本。这样cuda toolkit的版本(运行时版本)小于等于“安装时版本” 是理所应当的。再者torch等实际应用需要和“运行时版本”保持一致也是理所应当的。

4. 在 ubuntu 中安装 cuda toolkit

① 在ubuntu的命令行中依次输入以下四句命令。(这些命令是官网中“Setting up CUDA Toolkit”部分的教程)
注意:命令中的11-1根据需要版本的不同自行调整(见上面的注意)。例如:安装11.0只需要把后续的11-1改为11-0即可。

sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub
sudo sh -c 'echo "deb http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64 /" > /etc/apt/sources.list.d/cuda.list'
sudo apt-get update
sudo apt-get install -y cuda-toolkit-11-1

② 第一步完成且没有错误之后,配置环境变量,在ubuntu的命令行中输入,

sudo gedit ~/.bashrc

③ 在打开的文件中,按i进入编辑模式,并在文件最底部添加:

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

④ 保存并退出,回到ubuntu命令行,输入

source ~/.bashrc

验证: 在ubuntu 命令行中输入 nvcc -V ,能够输出 cuda toolkit 信息即可。(如上所述,这里看到的是“运行时版本”)

5. 在 ubuntu 中安装 cudnn

① 完全按照这里第 4 点的步骤操作即可。(同样要选择和第4步中相同的版本,本文是11.1)

6. 在 ubuntu 中安装 anaconda3

① 在windows中下载anaconda3的安装文件,并把文件放到ubuntu文件系统中。(或者直接在ubuntu可视化桌面中打开浏览器下载即可。)
② 在ubuntu命令行中进入刚刚下载的.sh 文件所在的文件夹,输入:

bash Anaconda3-5.2.0-Linux-x86_64.sh

之后按照要求,enter、yes完成安装。
验证: 在 ubuntu命令行中输入 python,显示 anaconda3 默认的 python版本信息即可。
注意: 可能会出现环境变量没有配置导致python命令失效,解决办法是配置一下环境变量,详细做法见这里
sudo gedit ~/.bashrc
② 在打开的文件中末行,添加export PATH="/home/wang/anaconda3/bin:$PATH",其中"wang"是你自己的ubuntu 用户名,自行修改(注意这里实际上是anaconda3的安装目录,如果在第6中没有选择默认目录,这里需要填入安装时自定义的目录)
source ~/.bashrc

7. 在 ubuntu 中安装 pytorch

官网中选择最适合自己的版本,按照其给出的命令,输入到ubuntu命令行中完成安装。
注意: 这一步可能需要梯子,或者自行百度其他离线安装方法(这一步和在ubuntu中安装pytorch一样,不需要考虑wsl和windows的影响。)

8. 在 windows 中安装 pycharm 并配置 wsl 环境

① 安装Pycharm,这就等于安装一个软件,下载安装即可。
② 参照官网教程这篇博客即可,没有坑,很简单,有需要再细写。

至此,就能够在windows中跑ubuntu+gpu+pytorch环境中编写的代码。
而且代码的编辑和运行都是在windows的pycharm中进行的,日常使用不需要手动打开ubuntu,非常方便。

写在后面: 本文并非完全原创,参考到的博客都在文章标注。

  • 17
    点赞
  • 103
    收藏
    觉得还不错? 一键收藏
  • 17
    评论
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值