通过WSL2搭建Pytorch1.10+CUDA11.4+NVIDIA Driver深度学习框架
Posted loongembedded
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过WSL2搭建Pytorch1.10+CUDA11.4+NVIDIA Driver深度学习框架相关的知识,希望对你有一定的参考价值。
文章目录
WSL,即Windows Subsystem for Linux(Windows下的Linux子系统),可以免去双系统安装的复杂性,使Linux系统依附于Windows运行。最新的WSL2支持了GPU加速运算,对搞深度学习的是件不错的事。
参考链接
在wsl2(Ubuntu20.04)中安装cudnn
Windows10/11 WSL2 安装nvidia-cuda驱动
win11的ubuntu子系统 WSL2 下配置cuda、cudnn、GPU pytorch环境
Ubuntu 20.04配置cuda-toolkit-11-4以及cuDNN一遍过
通过WSL2搭建Pytorch1.10+CUDA11.4+NVIDIA Driver深度学习框架全过程
解决conda安装pythorch报错:CondaHTTPError: HTTP 000 CONNECTION FAILED
WSL 上的 CUDA 用户指南
一、WSL的安装
1. 首先去windows官网查看安装方法
windows下WSL安装linuxu系统
按下组合键“WIN+X”,打开管理员模式的命令行,
安装命令:
wsl --install -d # 将更换成想要的版本,例如:ubuntu-20.04
安装后启动ubuntu,报错
在网上找,得到解决方案:下载安装适用于 x64 计算机的最新 WSL2 Linux 内核更新包
下载链接:https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
安装演示
下载完毕后,点击程序进行安装,然后点击【Next】,安装完成后如下
再次运行Ubuntu子系统,你就会发现,可以了。
查看已安装的系统、状态、使用的wsl版本。
2. WSL与Windows的文件传输
在Windows资源管理器地址输入:\\wsl$
可以查看以及操作WSL内的文件。
而在WSL中,进入目录/mnt,
二、NVIDIA Driver
WSL2 Ubuntu系统的NVIDIA驱动版本与Windows系统中的NVIDIA驱动版本一致,升级驱动只需要升级Windows下的驱动即可随之更新。
1. 找到显卡型号,到nvidia geforce驱动下载并安装对应的驱动
- 【!!!这里有个坑,就是不用再在Ubuntu系统下再安装显卡驱动了!!!】
我一开始不知道,安装了很多次都一直报错,提示:
You do not appear to have an NVIDIA GPU supported by the 510.54 NVIDIA Linux graphics driver installed in this system. For further details, please see the appendix SUPPORTED NVIDIA GRAPHICS CHIPS in the README available on the Linux driver download page at www.nvidia.com.
- 直到看到这位兄弟的文章,才知道不需要再安装显卡驱动了:链接
image.png
2. 使用“nvidia-smi”命令查看更新后的版本号
装好之后,在windows和WSL端通过nvidia-smi可查看到版本号
三、CUDA与Pytorch安装
注:WSL只有CUDA 11.x版本支持
首先贴出官方文档,英文的,很全,希望自己琢磨的可以看这个自行进行安装,比如如何使用自己早就在Windows安装好的CUDA 11.x等等,我在这里只会提到我用到的CUDA Toolkit的新安装方法。
1. 下载安装CUDA Toolkit
可直接去官网下载所需版本:
https://developer.nvidia.com/cuda-toolkit-archive
如果你的显卡支持11.4,也可直接运行下述语句:
下载CUDA11.4的命令如下:
wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin
sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/11.4.4/local_installers/cuda-repo-wsl-ubuntu-11-4-local_11.4.4-1_amd64.deb
sudo dpkg -i cuda-repo-wsl-ubuntu-11-4-local_11.4.4-1_amd64.deb
sudo apt-key add /var/cuda-repo-wsl-ubuntu-11-4-local/7fa2af80.pub
sudo apt-get update
sudo apt-get -y install cuda
该命令可以只安装CUDA Toolkit,而不会附带安装NVIDIA Driver,等待完成即可。一定要选择的WSL版本,截图如下:
在终端用命令“nvcc -V”能打印出版本信息,则安装成功,提示"Command ‘nvcc’ not found, but can be installed with:"
这并不是因为系统没有安装CUDA,而是环境中没有罢了。
注意: 千万不要执行apt install nvidia-cuda-toolkit,否则就会重新安装一个版本。
解决方法是进入bin目录,首先找到cuda的bin目录,例如:/usr/local/cuda/bin,查看是否有nvcc
1.1 cuda环境变量配置
添加环境变量,sudo vi ~/.bashrc
export PATH=/usr/local/cuda-11.4/bin$PATH:+:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-11.4/lib64$LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH
按 “ESC” 推出插入模式,“:wq” 保存并退出vim。输出命令“source ~/.bashrc”,立即生效。
再次输入nvcc -V查看即可显示CUDA的版本
1.2 验证cuda是否安装成功
cd /usr/local/cuda/samples/4_Finance/BlackScholes
sudo make
耐心等待编译…,编译完成后后再输入:
./BlackScholes
出现Test passed说明安装成功。
2.下载和安装cudnn
严格来讲cuDNN不能叫安装。它其实是对CUDA的一些补充,所以“安装”过程很简单。去英伟达官网下载对应CUDA 11.4的cuDNN压缩包(这一步可能需要注册英伟达账号)。解压之后得到cuda目录,cuda目录下面有include和lib64两个子目录,将这两个目录下面的所有文件拷贝到CUDA 11.4安装路径对应的目录下面即可。
英伟达cudnn下载链接
安装cudnn的时候也需要登录Nvidia账号,我下载的如下版本:
找到对应CUDA 11.4版本对应的cudnn
文件保存在D:\\download下,注意,这个路径跟下面的操作有关,(这里的存放路径,原则上必须在子系统里下载安装,但是实际上,和你之前设置的有关)。
2.1 解压cudnn的安装包
把压缩包复制到Ubuntu系统里面去(在Ubuntu中先进入到Windows系统的文件夹下面去,用命令“cd /mnt/d/download”进入目录再用sudo命令复制文件到/usr/local/下,最后用sudo命令解压文件)
cd /mnt/d/dowload/
sudo cp cudnn-11.4-linux-x64-v8.2.4.15.tgz /usr/local/
cd /usr/local/
sudo tar -xvf cudnn-11.4-linux-x64-v8.2.4.15.tgz
tar解压后的信息,可以看到解压之后把cudnn.h、libcudnn*.so这些库解压到/usr/local/cuda下
2.2 解压后的文件复制到对应的cuda位置上
链接,此链接提到要做拷贝和更改权限的操作,
但我看了我的cuda-11.4文件夹下已经有这些文件,所以没有做上面的操作
2.3 检查cudnn是否安装成功
at /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
3.下载并安装Anaconda3
可以去官网下包,通过 \\wsl$ 将包可以直接下载到Ubuntu目录,后面的正常按照Linux中Anaconda的安装步骤进行即可
没翻墙情况下清华镜像站 下载anaconda 的速度较官网上要快很多
链接
3.1 sh命令安装Anaconda3
sh Anaconda3-2022.10-Linux-x86_64.sh
安装完成,我们选择yes让anaconda3安装路径写进环境变量
3.2 “conda info”验证安装是否成功
安装成功后,重启系统,输入“conda info”可看到下面的信息,表示安装成功
4. 下载和安装pytorch
pytorch官网
获取安装pytorch的命令,没有找到对应CUDA11.4 的pytorch版本,网上说可以用CUDA11.3对应的pytorch版本,
用下面的命令安装
conda install pytorch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1 cudatoolkit=11.3 -c pytorch
报错信息
Collecting package metadata (current_repodata.json): failed
CondaHTTPError: HTTP 000 CONNECTION FAILED for url <https://conda.anaconda.org/pytorch/linux-64/current_repodata.json>
Elapsed: -
An HTTP error occurred when trying to retrieve this URL.
HTTP errors are often intermittent, and a simple retry will get you on your way.
'https//conda.anaconda.org/pytorch/linux-64'
4.1 conda命令安装pythorch:添加国内镜像源方式没有成功
ubuntu 20.04 Conda 创建环境出错:Collecting package metadata (current_repodata.json): failed
解决conda安装pythorch报错:CondaHTTPError: HTTP 000 CONNECTION FAILED
重点:去除命令中的 -c pytorch,这一点指令指向了conda官方的Pytorch下载库通道,会非常慢,而且极其容易下载失败,去掉后会到我们之前配置的channel中寻找。
使用命令conda config --show-sources可以查看这个配置文件和它的路径。
通过下面的命令添加清华镜像
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes
然后再执行命令
conda install pytorch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1 cudatoolkit=11.3 -c pytorch
这过程可能会有某个软件下载失败的情况,可以再重新执行命令,全部软件成功下载和安装后如下图:
4.2 采用wheel方式安装:没有尝试过
推荐使用pip方式安装,conda会自动安装CUDA Toolkit 11.3。
等待完成,输入命令运行并查看是否成功:
4.3安装成功的验证
python
import torch
x=torch.rand(5,3)
print(x)
print(torch.cuda.is_available())
如果显示True,表示成功安装GPU版本pytorch
也可以通过下面的方法验证
import torch
torch.__version__
4.4 卸载pytorch
卸载命令
pip uninstall torch
四、安装yolov5
1. 克隆yolov5代码
git clone https://github.com/ultralytics/yolov5.git #clone yolov5代码
cd yolov5
pip install -r requirements.txt #配置yolov5环境
提示部分所需软件已经安装,但部分还没有
Installing collected packages: tensorboard-plugin-wit, tensorboard-data-server, rsa, protobuf, opencv-python, oauthlib, grpcio, cachetools, absl-py, thop, requests-oauthlib, google-auth, google-auth-oauthlib, tensorboard
Successfully installed absl-py-1.3.0 cachetools-5.2.0 google-auth-2.14.1 google-auth-oauthlib-0.4.6 grpcio-1.50.0 oauthlib-3.2.2 opencv-python-4.6.0.66 protobuf-3.20.3 requests-oauthlib-1.3.1 rsa-4.9 tensorboard-2.11.0 tensorboard-data-server-0.6.1 tensorboard-plugin-wit-1.8.1 thop-0.1.1.post2209072238
【YOLO】在ubuntu上部署yolov5
目标检测—ubantu系统利用yolov5训练自定义检测模型
以上是关于通过WSL2搭建Pytorch1.10+CUDA11.4+NVIDIA Driver深度学习框架的主要内容,如果未能解决你的问题,请参考以下文章
windows 11 搭建 TensorFlow GPU 开发环境RTX 3060:2 -- 基于WSL2 docker 方式的使用