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,非常方便。
    
   
    
     写在后面:
    
    本文并非完全原创,参考到的博客都在文章标注。