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

  • Post author:
  • Post category:其他


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,非常方便。


写在后面:

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



版权声明:本文为lifeLover21原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。