通过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 <Distribution Name>  # 将<Distribution Name>更换成想要的版本,例如: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 <系统名>  <安装位置>  <tar文件目录> WSL版本号

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

ubuntu1804.exe config --default-user <Username>

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调试程序,大功告成,正常运行:
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,602评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,442评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,878评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,306评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,330评论 5 373
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,071评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,382评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,006评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,512评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,965评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,094评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,732评论 4 323
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,283评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,286评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,512评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,536评论 2 354
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,828评论 2 345