赞
踩
本文创作于2023年11月,记录自己安装WSL2子系统及配置深度学习环境的过程,中间参考其他博客的内容,但偶有疏漏之处,因此记录一个完整版本,供后人交流学习。
配置:
系统:Windows 11
显卡:GeForce RTX 3090
前提条件:
查看是否开启虚拟化:windows机器需要支持虚拟化,并且需要在BIOS中开启虚拟化技术,因为WSL2基于hyper-V。建议使用Windows11操作系统。
可进入链接:旧版 WSL 的手动安装步骤自行查看。也可以使用Microsoft帮助文档中安装WSL的官方方法,只不过对具体系统有要求。本人使用的是旧版安装方法,安装的是Ubuntu22.04版本。具体细节如下:
进入“控制面板-程序-启用或关闭Windows功能”:
勾选“适用于Linux的Windows子系统”、“虚拟机平台”,然后点击确定。完成后重启电脑。
安装 WSL 2 之前,必须启用“虚拟机平台”可选功能。 计算机需要虚拟化功能才能使用此功能。以管理员身份打开 PowerShell 并运行:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
重新启动计算机,以完成 WSL 安装并更新到 WSL 2。其实我觉得这一步在上面已经勾选了,这是Microsoft文档中的一部分,只要打开“虚拟机平台”即可,多尝试没有关系。无需过多关注。
Linux 内核更新包会安装最新版本的 WSL 2 Linux 内核,以便在 Windows 操作系统映像中运行 WSL。
最新包:链接点击即可下载,官方文档中同样有。运行,下载该安装包,并默认安装即可。
将 WSL 2 设置为默认版本:
wsl --set-default-version 2
打开微软商店(Microsoft Store)搜索“Ubuntu”,然后选择Ubuntu22.04 LTS点击安装,直到下载完成为止;
此时,安装完成。我们可以在开始菜单看到Ubuntu22.04图标,点击打开,设置用户名和密码(密码是看不见的,输入两次即可)。此时可以在此电脑中看到Linux,打开它可以看到Ubuntu的文件,后续与Ubuntu之间的文件操作可以从此处进行。
子系统默认安装在系统盘,如果系统盘容量不够,可以迁移子系统位置,安装到D盘或其他盘。
# 导出分发版为tar格式文件到D盘上并注销。
wsl --export Ubuntu-22.04 d:\ubuntu22.04.tar
# 注销此版本
wsl --unregister Ubuntu-22.04
# 重新导入并安装WSL在D盘
wsl --import Ubuntu-22.04 d:\wsl-ubuntu22.04 d:\ubuntu22.04.tar --version2
# 设置默认用户为之前安装的用户,不然默认为root用户
Ubuntu2204.exe config --default-user **(你的用户名)
# 删除安装包
del d:\ubuntu22.04.tar
配置:
Windows11专业版、WSL2子系统、3090显卡、NVIDIA最新驱动、CUDA11.8及配套CUDNN、Pytorch2.1.0
进入Nvidia官方链接官方驱动 | NVIDIA,根据自己的系统,显卡型号,下载类型选择“Game Ready 驱动程序”即可,下载完成,安装在Windows环境下即可。
进入anaconda官网,选择download,下载最新版即可,如图15所示。Windows环境下载完成后将此安装包复制到Ubuntu22.04中Ubuntu安装路径中,即Linux/Ubuntu-22.04/home/(你的用户名)/ 中,然后在Ubuntu的命令行窗口通过下图所示命令解压并安装该文件即可。
之后,根据安装提示,一直回车(enter)+yes即可安装成功。如果环境变量报错,则说明要将anaconda环境变量配置进入bashrc文件中,source命令更新bashrc文件,如下图所示:
export PATH=/home/(your_user_name)/anaconda3/bin:$PATH
source ~/.bashrc
这里如果有问题,请搜索Linux系统anaconda添加环境变量,应该不难解决。或者采取下面另一种方法:
sudo gedit /etc/profile
打开文件,在文件末尾添加:
export PATH=/home/(your_user_name)/anaconda3/bin:$PATH
通过下面命令,查看已安装得环境变量,看anaconda环境变量是否添加进来。
echo $PATH
所谓换源,是因为国内通道可能受限,一是下载速度慢,二是有的安装包当前通道(channel)不一定存在,因此需要换源。
(1)进入清华镜像源官网:清华大学开源软件镜像站 | Tsinghua Open Source Mirror,之后右下角点击“使用帮助”,直接进入需要的地方,不需要看主界面。
(2)学会使用“vim”命令。
vim命令是Linux系统编辑系统内文件的命令,通常进入文件后,需使用 i
(insert)键,开启插入模式,即可在文件内写入、删除字符;使用esc
键即可推出插入模式;退出插入模式后,使用:q
可退出该文件;使用:wq
即可保存在文件中的编辑内容,并退出该文件。
(1)输入命令,进入下列文件:
vim /etc/apt/sources.list
(2)按”i“键,进入vim的插入模式复制如下代码(建议自行进入清华镜像源官网获取,点击“使用帮助”,左侧一列选择Ubuntu即可获取下图信息)到sources.list:
(3)最后按ESC键退出插入模式,输入:wq
保存退出
(4)更新源:通过下面两行代码更新源(换了之后需要更新)
sudo apt-get update
sudo apt-get upgrade
(1)生成.condarc
文件
命令 :
conda config --set show_channel_urls yes
(2)修改.condarc
文件,写入源文件
vim ~/.condarc
(3)进入清华镜像源,右下角使用帮助
,点击左侧anaconda
,复制r如下图信息,写入condarc
文件并保存退出:
网上其他命令如下图,效果与上文相同,且上文更专业。这些方法是添加通道channel
,我们的方法通道是默认default
,而default_channels
则为清华镜像通道。
建议直接下载cuda11.8版本,本人曾下载11.3版本,然后再对应版本的cudnn以及pytorch中,无法实现深度学习模型的运行,报错为:无法找到lib.cudnn.so文件或lib.cudnn.so文件类型未定义等。耗时几天之后,仍无法解决第二个问题(第一个问题通过添加wsl的环境变量可以解决),最后不得已之下,删除并重新安装WSL系统,最终通过安装CUDA11.8及其对应版本cudnn、pytorch解决问题。
官网:CUDA Toolkit 11.8 Downloads | NVIDIA Developer
Installer Type:可选择三种的任意一种,根据下面给出的安装命令一行行输入即可,如果一种方法安装不成功,则更换另一种,这里选择第三种方法,命令较少。(如出现问题,百度即可解决)
Installer Type:可选择三种的任意一种,根据下面给出的安装命令一行行输入即可,如果采用第一种方法,第四行代码执行完毕之后,会生成一行代码,可使用该行代码替代第五行代码继续执行,后面代码不变。本文以第三种方法举例,命令较少。作者尝试过第三种方法,第一次成功安装;第二次则安装失败,原因是解压失败,后来切换第一种安装方法,成功安装。
第一行命令:wget命令常用于从网络链接中下载安装包
第二行命令:sudo为使用管理员权限,需要密码。sh为解压命令,后面为下载的压缩包。
注:如果使用命令,系统报gcc的错误,则需要在这串命令后面加上 –override
如果还不行,建议更换下载方式。
程序会进行解压和安装,速度会比较慢,最后会出现如下界面:输入accept+回车确认。
之后便会出现如下界面,前面带有[X]的表示你要安装的工具,最后选择Install+回车确认,即可安装完成。
sudo vim ~/.bashrc
打开文件export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
此处,图中出现错误,PATH写成了PAHT,已修改!
source ~/.bashrc
nvcc -V
命令查看是否安装成功,成功可以看出安装的版本。选择cuDNN安装包,版本必须与CUDA相匹配。这里选择2023年8月份左右的cuDNN,适合所有的11版本的CUDA。
在Windows环境下下载完毕后,将安装包复制到wsl系统的/home/**文件夹下,使用tar命令解压,使用cp命令(copy,复制)将解压出的文件夹命令复制到cuda对应的文件夹内。
解压命令:
tar xvf cudnn-linux-x86_64-8.9.4.25_cuda11-archive.tar.xz
复制命令:cp 复制目录 粘贴目录
sudo cp cuda/include/*/usr/local/cuda/include/
sudo cp cuda/lib64/* /usr/local/cuda/lib64/
注:如无报错,即cudnn安装完成。如报错,则查看复制目录是否错误(粘贴目录是固定不变的)。
Pytorch版本与cuda必须匹配,进入官网PyTorch,在命令窗口运行如下命令即可自行安装pytorch。
命令:
conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia
该命令可测试Windows上是否安装nvidia驱动,右上角的cuda版本与实际安装版本不一致,因为这代表的是该驱动可以安装的最大cuda版本,并非你实际安装版本。
可查看cuda版本
import torch
,查看pytorch是否安装成功
torch.cuda.is_available()
,查看是否可以使用cuda。
torch.cuda.device_count()
,查看可使用的GPU数量。
*至此,深度学习环境安装完毕。
之后,如果想在wsl2进行深度学习训练,查看参考文献中使用vscode在wsl环境进行模型训练
,我就不再重复赘述了。
[1] win11的ubuntu子系统 WSL2 下配置cuda、cudnn、GPU pytorch环境
[2]WSL2-Ubuntu20.04配置深度学习环境(CUDA、CUDNN、Pytorch)
[3]Windows系统下Linux子系统cuda、pytorch及tensorrt环境搭建与VScode连接
[4]安装WSL2和Ubuntu22.04版本
[5]conda配置清华源
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。