2021年4月,wsl2 中配置深度学习环境完全版(windows10 + RTX3090 + wsl2 + ubuntu18.04 + cuda + cudatoolkit11.0 + cudnn11.0 + gnome + anaconda3 + pycharm)
写在前面:
- 作者在全新的电脑上从零开始,且每一步都相对独立,整个环境的搭建大概一天左右,还是比较友好的。
- 由于整个过程是回忆记录的,难免有些遗漏,有人按照这个教程成功或者失败都可以留言,以便改进。谢谢。
目录
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版本做一个说明,之前被各种版本搞的相当混乱,理解了之后清晰了很多。
-
具体检查措施:
① 先去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。后续的版本选择按照这个原则即可。 -
总的来说:版本关系应该满足两条要求(
可以不看
):
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,非常方便。
写在后面:
本文并非完全原创,参考到的博客都在文章标注。