基于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
这里显卡驱动安装就不再详细说明了,根据显卡型号到英伟达官网下载安装即可
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盘,占用的是系统盘,当系统盘不够大时,可以在安装完成之后在:设置->应用->安装的应用 里面将其迁移至其它盘符。
基于WSL2中的Ubuntu安装CUDA和cudnn
CUDA 安装
1、根据显卡驱动版本选择CUDA版本在命令提示符中输入一下命令进行查看:
nvidia-smi
若执行命令显示nvidia-smi不是内部或者外部命令。则可能存在两个原因1、没有安装驱动,解决办法,安装驱动。2、nvidia-smi.exe不在环境变量中。解决方案在C盘中搜索nvidia-smi.exe直接拖入命令提示符或者将其所在路径添加至环境变量中再执行。
实际上也可以通过英伟达的控制面板进行查看:
在桌面上点击右键->显示更多选项->NVIDIA控制面板:
2、至英伟达官网下载CUDA
安装完成CUDA后一般在/usr/local/cuda-11.6中
3、安装CUDNN
部分博主介绍采用离线安装的方式进行安装如:
安装cudnn同样至英伟达官网下载CUDNN
下载完成后采用命令进行解压:
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的环境配置完成