WSL安装Ubuntu22.04,以及深度学习环境的搭建

安装WSL

安装 WSL 2 之前,必须启用"虚拟机平台"可选功能。 计算机需要虚拟化功能才能使用此功能。

以管理员身份打开 PowerShell 并运行:

python 复制代码
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

下载 Linux 内核更新包:l链接:

https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi

下载完成后更新。

将 WSL 2 设置为默认版本,命令:

python 复制代码
wsl --set-default-version 2

打开 Microsoft Store,搜索WSL,选择你偏好的 Linux版本。

我选择的是Ubuntu22.04版本。点进去就可以看到下载链接

下载即可。下载完成后,启动系统,配置用户名和密码。

输入nvidia-smi,检查是否能找到显卡,正常情况,如下图:

一些问题

WslRegisterDistribution failed with error: 0x8007019e The Windows Subsystem错误的解决方案

执行命令

python 复制代码
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

回车,输入Y或者y,然后系统重启。

输入nvidia-smi,显示不正确

这个有可能是wsl的版本不对,出现这种情况是Window的版本太低了!升级到21H2或者Win11。

也可以通过观察Ubuntu的版本,如下图:

如果wsl的版本是1.0的,内核是4.XXX

也可以使用命令,查看wsl版本,在PowerShell里输入:

wsl -l -v

红框里的是2,就正确了!如果是1,则要重新安装Ubuntu。

执行命令:

wsl --list

查找wsl的列表。

wsl --unregister Ubuntu-22.04

注销列表中显示的Ubuntu系统

然后,重新打开Ubuntu系统。

注:WSL系统使用的显卡驱动是Win系统的驱动,所以不用安装驱动!

安装CUDA

安装gcc,执行命令:

sudo apt update
sudo apt install build-essential

输入Y。

链接:https://developer.nvidia.com/cuda-toolkit-archive

我选用的是12.1版本,如下图:

执行命令:

wget https://developer.download.nvidia.com/compute/cuda/12.1.1/local_installers/cuda_12.1.1_530.30.02_linux.run
sudo sh cuda_12.1.1_530.30.02_linux.run

输入accept。

选择安装的组件,不用安装驱动!

选择Install。

安装完成

接下来,配置环境变量输入vim ~/.bashrc命令打开文件,在文件结尾输入以下语句,保存。

export PATH=/usr/local/cuda-12.1/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-12.1/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

然后,点击保存后关闭文档,然后执行命令source ~/.bashrc。

至此cuda安装完成,输入nvcc -V命令查看cuda信息。

安装cuDNN

链接:https://developer.nvidia.com/rdp/cudnn-archive

打开连接,选择CUDA 12.x,这里要和安装的CUDA版本对上!

点击上图红框的位置,就可以看到下图的列表,选择对应的文件,单击后就可以下载,如下图:

在地址栏输入"\wsl$",然后点击Enter键。打开Ubuntu22.04的目录!

然后,找到home路径,如下图:

将下载的cudnn复制到用户名的路径下,如下图:

然后,执行安装命令,命令如下:

 sudo dpkg -i cudnn-local-repo-ubuntu2204-8.9.7.29_1.0-1_amd64.deb

等待cuDNN安装包仓库安装完毕后,最后几行会输出一个添加密钥的命令,类似下面。我们执行输出的那个命令:

执行命令:

sudo cp /var/cudnn-local-repo-ubuntu2204-8.8.0.121/cudnn-local-B66125A0-keyring.gpg /usr/share/keyrings/

更新apt源,让apt包管理器能够找到刚刚安装的cuDNN安装包仓库:

bash 复制代码
sudo apt update

准备安装cuDNN,先查找一下cuDNN安装包仓库中包含的cuDNN深度学习库有哪些版本:

bash 复制代码
sudo apt list libcudnn*

安装cuDNN库,执行命令:

bash 复制代码
sudo apt install libcudnn8-dev libcudnn8-samples

检查一下cuDNN的动态库文件是否安装到位,执行命令:

bash 复制代码
readelf -d /usr/lib/x86_64-linux-gnu/libcudnn.so | grep SONAME

检查libcudnn8-dev是否安装成功,执行命令:

bash 复制代码
cat /usr/include/cudnn_version.h | grep CUDNN_

编译一下cuDNN的示例代码。如果能成功编译并运行,代表你的CUDA工具链和cuDNN库全部正常工作。

bash 复制代码
# 复制示例代码到$HOME目录下,然后进入该目录
cp -r /usr/src/cudnn_samples_v8/ ~
cd ~/cudnn_samples_v8/
 
# 试着编译一份卷积运算的示例代码
cd conv_sample/
# 用apt安装的cuDNN头文件和库目录位置与Makefile中给定的默认位置不同,
# 因此我们先手动指定位置后再make
CUDNN_INCLUDE_PATH=/usr/include/ CUDNN_LIB_PATH=/usr/lib/x86_64-linux-gnu/ make
 
# 编译完成后,执行编译出的二进制文件,进行卷积运算测试
./conv_sample
 
# 运行更多的卷积运算测试案例
source run_conv_sample.sh

运行结果:

相关推荐
深度学习实战训练营11 分钟前
基于keras的停车场车位识别
人工智能·深度学习·keras
乔代码嘚17 分钟前
AI2.0时代,普通小白如何通过AI月入30万
人工智能·stable diffusion·aigc
墨@#≯18 分钟前
机器学习系列篇章0 --- 人工智能&机器学习相关概念梳理
人工智能·经验分享·机器学习
Elastic 中国社区官方博客25 分钟前
Elasticsearch:使用 LLM 实现传统搜索自动化
大数据·人工智能·elasticsearch·搜索引擎·ai·自动化·全文检索
_.Switch35 分钟前
Python机器学习模型的部署与维护:版本管理、监控与更新策略
开发语言·人工智能·python·算法·机器学习
XiaoLiuLB1 小时前
ChatGPT Canvas:交互式对话编辑器
人工智能·自然语言处理·chatgpt·编辑器·aigc
Hoper.J1 小时前
PyTorch 模型保存与加载的三种常用方式
人工智能·pytorch·python
菜就多练_08281 小时前
《深度学习》OpenCV 摄像头OCR 过程及案例解析
人工智能·深度学习·opencv·ocr
达柳斯·绍达华·宁1 小时前
CNN中的平移不变性和平移等变性
人工智能·神经网络·cnn
技术无疆2 小时前
【Python】Streamlit:为数据科学与机器学习打造的简易应用框架
开发语言·人工智能·python·深度学习·神经网络·机器学习·数据挖掘