基于windows11配置深度学习环境包含WSL2配置ubuntu20.04

  • 目录
  • 平台
  • WSL2 系统准备(Windows Subsystem of Linux)
  • 安装WSL2
  • 基于WSL2中的Ubuntu安装CUDA和cudnn
  • CUDA 安装


目录

平台

系统 : windows11 专业版
CPU Intel I7 8750hq
显卡:Nvidia GTX1060移动端
显卡驱动版本:512.89
CUDA版本 11.6
这里显卡驱动安装就不再详细说明了,根据显卡型号到英伟达官网下载安装即可
windows 11 下载安装链接:windows11

WSL2 系统准备(Windows Subsystem of Linux)

优势:
1、基于windows11的linux子系统能够帮助快速上手进行使用不需要安装双系统来回重启切换。
2、能够和windows之间直接进行数据访问。
3、能够快速上手linux服务,深度学习执行速度优于windows
缺点:
1、环境部署与真实Linux存在区别
2、访问同一路径和windows存在差异需要根据环境进行修改

安装WSL2

windows11 安装 WSL2有两种方式:
1、在命令提示符或者power shell中执行以下命令:

# 需要开启梯子,否则可能出现服务器地址无法访问的问题
wsl --list --online
# 根据上述命令的结果提示选择安装需要的linux系统,这里以Ubuntu20.04为例
wsl --install -d Ubuntu-20.04

这种方案一般需要有翻墙的网络支撑
2、直接打开微软应用商店搜索Ubuntu应用点击下载安装等待安装完成即可

上述方案安装的Ubuntu一般位于C盘,占用的是系统盘,当系统盘不够大时,可以在安装完成之后在:设置->应用->安装的应用 里面将其迁移至其它盘符。

win11深度学习 深度系统win11_win11深度学习

基于WSL2中的Ubuntu安装CUDA和cudnn

CUDA 安装

1、根据显卡驱动版本选择CUDA版本在命令提示符中输入一下命令进行查看:

nvidia-smi

win11深度学习 深度系统win11_linux_02


若执行命令显示nvidia-smi不是内部或者外部命令。则可能存在两个原因1、没有安装驱动,解决办法,安装驱动。2、nvidia-smi.exe不在环境变量中。解决方案在C盘中搜索nvidia-smi.exe直接拖入命令提示符或者将其所在路径添加至环境变量中再执行。实际上也可以通过英伟达的控制面板进行查看:

在桌面上点击右键->显示更多选项->NVIDIA控制面板:

win11深度学习 深度系统win11_win11深度学习_03


win11深度学习 深度系统win11_CUDA_04


win11深度学习 深度系统win11_ubuntu_05


2、至英伟达官网下载CUDA

win11深度学习 深度系统win11_CUDA_06


安装完成CUDA后一般在/usr/local/cuda-11.6中

3、安装CUDNN

部分博主介绍采用离线安装的方式进行安装如:

安装cudnn同样至英伟达官网下载CUDNN

win11深度学习 深度系统win11_深度学习_07


下载完成后采用命令进行解压:

tar -zxvf cudnn-你的cudnn版本.tgz
#如果下载的版本较新则采用以下命令:
tar -xvf cudnn-linux-x86_64-8.6.0.163_cuda11-archive.tar.xz

解压完成后将解压的文件复制到CUDA-11.6目录对应的文件夹下

sudo cp /include/cudnn*.h /usr/local/cuda-11.6/include
sudo cp /lib/libcudnn* /usr/local/cuda-11.7/lib64*

拷贝完成后需要修改文件的读取权限:

sudo chmod a+r /usr/local/cuda-11.6/include/cudnn.h 
sudo chmod a+r /usr/local/cuda-11.6/lib64/libcudnn*

实际上我采用了这种方案进行安装后运行tensorRT出现了 libcudnn_cnn_infer.so.8 not in path的问题
理所当然的我们认为这个cudnn的库不在环境变量中因此我们在环境变量中将库路径添加进去了

vim ~/.bashrc
#在文件末尾添加了这两行
export PATH=$PATH:/usr/local/cuda-11.6/bin
export LD_LIBRARY_PATH=/usr/local/cuda-11.6/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
# 保存退出执行
source ~/.bashrc

然而并没有用。
因此我们采用了apt进行安装解决了上面的问题

sudo apt-get update
sudo apt install nvidia-cudnn

至此CUDA和CUDNN的环境配置完成