文章目录

  • 参考链接
  • 一、WSL的安装
  • 1. 首先去windows官网查看安装方法
  • 2. WSL与Windows的文件传输
  • 二、NVIDIA Driver
  • 1. 找到显卡型号,到nvidia geforce驱动下载并安装对应的驱动
  • 2. 使用“nvidia-smi”命令查看更新后的版本号
  • 三、CUDA与Pytorch安装
  • 1. 下载安装CUDA Toolkit
  • 1.1 cuda环境变量配置
  • 1.2 验证cuda是否安装成功
  • 2.下载和安装cudnn
  • 2.1 解压cudnn的安装包
  • 2.2 解压后的文件复制到对应的cuda位置上
  • 2.3 检查cudnn是否安装成功
  • 3.下载并安装Anaconda3
  • 3.1 sh命令安装Anaconda3
  • 3.2 “conda info”验证安装是否成功
  • 4. 下载和安装pytorch
  • 4.1 conda命令安装pythorch:添加国内镜像源方式没有成功
  • 4.2 采用wheel方式安装:没有尝试过
  • 4.3安装成功的验证
  • 4.4 卸载pytorch
  • 四、安装yolov5
  • 1. 克隆yolov5代码


 

一、WSL的安装

1. 首先去windows官网查看安装方法

windows下WSL安装linuxu系统 按下组合键“WIN+X”,打开管理员模式的命令行,

pytorch 为什么设置了num_workers反而更慢了_CUDA


安装命令:

wsl --install -d # 将更换成想要的版本,例如:ubuntu-20.04

pytorch 为什么设置了num_workers反而更慢了_ubuntu_02


安装后启动ubuntu,报错

pytorch 为什么设置了num_workers反而更慢了_Windows_03

在网上找,得到解决方案:下载安装适用于 x64 计算机的最新 WSL2 Linux 内核更新包

下载链接:https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi

安装演示

下载完毕后,点击程序进行安装,然后点击【Next】,安装完成后如下

pytorch 为什么设置了num_workers反而更慢了_人工智能_04


再次运行Ubuntu子系统,你就会发现,可以了。

pytorch 为什么设置了num_workers反而更慢了_ubuntu_05


查看已安装的系统、状态、使用的wsl版本。

2. WSL与Windows的文件传输

在Windows资源管理器地址输入:\wsl$

pytorch 为什么设置了num_workers反而更慢了_人工智能_06


可以查看以及操作WSL内的文件。

而在WSL中,进入目录/mnt,

pytorch 为什么设置了num_workers反而更慢了_ubuntu_07

二、NVIDIA Driver

WSL2 Ubuntu系统的NVIDIA驱动版本与Windows系统中的NVIDIA驱动版本一致,升级驱动只需要升级Windows下的驱动即可随之更新。

1. 找到显卡型号,到nvidia geforce驱动下载并安装对应的驱动

官方GeForce驱动程序 | NVIDIA

pytorch 为什么设置了num_workers反而更慢了_人工智能_08

  • 【!!!这里有个坑,就是不用再在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.

pytorch 为什么设置了num_workers反而更慢了_CUDA_09


  • 直到看到这位兄弟的文章,才知道不需要再安装显卡驱动了:链接 image.png
  • pytorch 为什么设置了num_workers反而更慢了_CUDA_10


2. 使用“nvidia-smi”命令查看更新后的版本号

装好之后,在windows和WSL端通过nvidia-smi可查看到版本号

pytorch 为什么设置了num_workers反而更慢了_ubuntu_11


pytorch 为什么设置了num_workers反而更慢了_Windows_12

三、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版本,截图如下:

pytorch 为什么设置了num_workers反而更慢了_Windows_13

在终端用命令“nvcc -V”能打印出版本信息,则安装成功,提示"Command ‘nvcc’ not found, but can be installed with:"

pytorch 为什么设置了num_workers反而更慢了_CUDA_14


这并不是因为系统没有安装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的版本

pytorch 为什么设置了num_workers反而更慢了_深度学习_15

1.2 验证cuda是否安装成功

cd /usr/local/cuda/samples/4_Finance/BlackScholes
sudo make

耐心等待编译…,编译完成后后再输入:

./BlackScholes

出现Test passed说明安装成功。

pytorch 为什么设置了num_workers反而更慢了_Windows_16

2.下载和安装cudnn

严格来讲cuDNN不能叫安装。它其实是对CUDA的一些补充,所以“安装”过程很简单。去英伟达官网下载对应CUDA 11.4的cuDNN压缩包(这一步可能需要注册英伟达账号)。解压之后得到cuda目录,cuda目录下面有include和lib64两个子目录,将这两个目录下面的所有文件拷贝到CUDA 11.4安装路径对应的目录下面即可。

英伟达cudnn下载链接 安装cudnn的时候也需要登录Nvidia账号,我下载的如下版本:

找到对应CUDA 11.4版本对应的cudnn

pytorch 为什么设置了num_workers反而更慢了_CUDA_17


文件保存在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下

pytorch 为什么设置了num_workers反而更慢了_CUDA_18

2.2 解压后的文件复制到对应的cuda位置上

链接,此链接提到要做拷贝和更改权限的操作,

pytorch 为什么设置了num_workers反而更慢了_深度学习_19


但我看了我的cuda-11.4文件夹下已经有这些文件,所以没有做上面的操作

pytorch 为什么设置了num_workers反而更慢了_CUDA_20

2.3 检查cudnn是否安装成功

at /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

pytorch 为什么设置了num_workers反而更慢了_CUDA_21

3.下载并安装Anaconda3

可以去官网下包,通过 \wsl$ 将包可以直接下载到Ubuntu目录,后面的正常按照Linux中Anaconda的安装步骤进行即可

下载anaconda 的速度较官网上要快很多

链接

pytorch 为什么设置了num_workers反而更慢了_深度学习_22

3.1 sh命令安装Anaconda3

sh Anaconda3-2022.10-Linux-x86_64.sh

安装完成,我们选择yes让anaconda3安装路径写进环境变量

pytorch 为什么设置了num_workers反而更慢了_Windows_23

3.2 “conda info”验证安装是否成功

安装成功后,重启系统,输入“conda info”可看到下面的信息,表示安装成功

pytorch 为什么设置了num_workers反而更慢了_深度学习_24

4. 下载和安装pytorch

pytorch官网 获取安装pytorch的命令,没有找到对应CUDA11.4 的pytorch版本,网上说可以用CUDA11.3对应的pytorch版本,

pytorch 为什么设置了num_workers反而更慢了_深度学习_25


用下面的命令安装

conda install pytorch==1.12.1 torchvisinotallow==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

这过程可能会有某个软件下载失败的情况,可以再重新执行命令,全部软件成功下载和安装后如下图:

pytorch 为什么设置了num_workers反而更慢了_人工智能_26

4.2 采用wheel方式安装:没有尝试过

pytorch 为什么设置了num_workers反而更慢了_深度学习_27


推荐使用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

pytorch 为什么设置了num_workers反而更慢了_深度学习_28


也可以通过下面的方法验证

import torch
torch.__version__

pytorch 为什么设置了num_workers反而更慢了_人工智能_29

4.4 卸载pytorch

卸载命令

pip uninstall torch

pytorch 为什么设置了num_workers反而更慢了_CUDA_30

四、安装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

pytorch 为什么设置了num_workers反而更慢了_人工智能_31