通过WSL2搭建Pytorch1.10+CUDA11.4+NVIDIA Driver深度学习框架全过程

WSL,即Windows Subsystem for Linux(Windows下的Linux子系统),可以免去双系统安装的复杂性,使Linux系统依附于Windows运行。最新的WSL2支持了GPU加速运算,对搞深度学习的是件不错的事。


命令行启动Ubuntu,激活虚拟环境,测试CUDA是否在pytorch中可运行

一、wsl的安装

1.首先去windows官网查看安装方法

https://docs.microsoft.com/zh-cn/windows/wsl/install

管理员模式进入命令行,运行下面命令:

wsl --install -d   # 将更换成想要的版本,例如:Ubuntu-18.04

命令很简单,当然前提是保证windows内核版本符合要求,我的是19044,要求是>=19041。目前有说法是需要Inside Preview版本,即加入windows预览体验计划,并更新系统,但是当前(2022.01.14)我只有Release Preview通道开放,CUDA同样可以正常在wsl中使用,因此见仁见智,可以更新20xxx版本的可以更新一下,不能更新的19044也可以。
注:若想安装多个版本的系统,随后可以去windows store,搜索Ubuntu即可找到其他WSL所支持的版本,点击安装即可。
安装完毕并重启系统,设置好Ubuntu用户后,使用命令:

wsl -l --all -v

查看已安装的系统、状态、使用的wsl版本。

2. 移动wsl目录(可选)

由于wsl默认安装目录为C盘,因此C盘空间较少的话,我们需要将它移动到其他磁盘。
导出系统:

wsl --export Ubuntu-18.04 D:\wsl-ubuntu-18.04.tar  # 即 wsl --export <系统名> <导出目录>

删除系统:

wsl --unregister Ubuntu-18.04

再次导入系统:

wsl --import Ubuntu-18.04 D:\wsl-ubuntu D:\wsl-ubuntu-18.04.tar  --version 2  # 即 wsl --import <系统名>  <安装位置>   WSL版本号

修改默认登录用户(之前安装完毕后自己设置的):

ubuntu1804.exe config --default-user 

3. 管理wsl系统

可参考第一条的网址,比如设置默认系统等,若第一次安装没有指定Ubuntu版本的话,他会默认安装,并设定该安装的版本为默认启动,可以根据需要进行卸载、设置默认等操作。
以及进入WSL后,进行更新和升级:

sudo apt update && sudo apt upgrade

4. WSL与Windows的文件传输

在Windows资源管理器地址输入:

\\wsl$
windows操作WSL目录

可以查看以及操作WSL内的文件。

而在WSL中,进入目录

mnt/

即可查看和操作Windows中的系统目录

二、NVIDIA Driver

1. 驱动下载

首先去

https://developer.nvidia.com/cuda/wsl/download

下载支持WSL的NVIDIA最新驱动,首先查看自己的显卡是否支持,我的是GTX960m,因此下载Geforce Driver,右边的是Quadro Driver,根据自己需求下载。如果是Tesla显卡,因为官方文档说还不支持,因此就无法继续安装了。

2. 安装驱动

注意,此步骤是在Windows里进行的,不需要在WSL中安装驱动!
在这里我为了以防万一是首先删除了原先装的驱动460,随后再安装该510驱动。(按照正常情况来说可以直接覆盖安装。不过毕竟这些步骤还挺繁琐的,错一步就得重新搞半天,不如一开始就稍微麻烦下)
安装步骤与其他驱动一样,运行、安装即可完成,之后可以进入WSL或者CMD输入:

nvidia-smi

查看是否有显示,并且Driver版本号为所安装的最新版本,我的是510。

三、CUDA与Pytorch安装

注:WSL只有CUDA 11.x版本支持
首先贴出官方文档,英文的,很全,希望自己琢磨的可以看这个自行进行安装,比如如何使用自己早就在Windows安装好的CUDA 11.x等等,我在这里只会提到我用到的CUDA Toolkit的新安装方法。

https://docs.nvidia.com/cuda/wsl-user-guide/index.html

1. 下载并安装CUDA Toolkit

使用WSL命令进入Ubuntu-18.04系统,输入下面的命令,安装用于Ubuntu18.04版本的CUDA Toolkit 11.4:

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-ubuntu1804.pin
sudo mv cuda-ubuntu1804.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/11.4.0/local_installers/cuda-repo-ubuntu1804-11-4-local_11.4.0-470.42.01-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu1804-11-4-local_11.4.0-470.42.01-1_amd64.deb
sudo apt-key add /var/cuda-repo-ubuntu1804-11-4-local/7fa2af80.pub
sudo apt-get update

该命令可以只安装CUDA Toolkit,而不会附带安装NVIDIA Driver,等待完成即可。

2. 下载并安装Anaconda3

可以去官网下包,通过 \\wsl$ 将包可以直接下载到Ubuntu目录,后面的正常按照Linux中Anaconda的安装步骤进行即可。

3. 下载并安装Pytorch

我们可以看到Pytorch官网最新的显示只支持到CUDA 11.3,而我们安装的是CUDA 11.4,其实不影响,按照CUDA 11.3的方式安装即可:

pip3 install torch==1.10.1+cu113 torchvision==0.11.2+cu113 torchaudio==0.10.1+cu113 -f https://download.pytorch.org/whl/cu113/torch_stable.html

推荐使用pip方式安装,conda会自动安装CUDA Toolkit 11.3。
等待完成,输入命令运行并查看是否成功:


所有环境配置成功!

以上是所有的配置步骤,作为记录,以备日后使用,未来的Win11不需要加入体验计划,即可使用这项功能,因此会是个趋势。

四、开发环境的配置

推荐使用VSCode,轻量、速度快,内部包含海量的插件,使代码敲起来更舒服。
进入VSCode后,选择这个图标:



依次搜索并安装:

Chinese # VSCode汉化包
Python # Python预言支持
Remote-SSH # 远程代码编辑神器


安装完Remote-SSH后,左下角会出现一个绿色的标志:


点一下,选择:



现在就可以打开并查看WSL中的文件了,打开的文件夹会被自动识别为VSCode当前的工作区:



随后再点击小插件搜索界面,会发现已安装插件下面多出来了一个按钮:

点一下,就可以在服务器端(WSL)进行安装,就可以使用VSCode的调试功能调试WSL的代码了。

点击这里,切换虚拟环境:



F5调试程序,大功告成,正常运行:

你可能感兴趣的:(通过WSL2搭建Pytorch1.10+CUDA11.4+NVIDIA Driver深度学习框架全过程)