yolov5 +cuda10.2 +gpu环境搭建 (详细版本)

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

yolov5是什么

 

YOLOv5是一种单阶段目标检测算法该算法在YOLOv4的基础上添加了一些新的改进思路使其速度与精度都得到了极大的性能提升。主要的改进思路如下所示

输入端在模型训练阶段提出了一些改进思路主要包括Mosaic数据增强、自适应锚框计算、自适应图片缩放
基准网络融合其它检测算法中的一些新思路主要包括Focus结构与CSP结构
Neck网络目标检测网络在BackBone与最后的Head输出层之间往往会插入一些层Yolov5中添加了FPN+PAN结构
Head输出层输出层的锚框机制与YOLOv4相同主要改进的是训练时的损失函数GIOU_Loss以及预测框筛选的DIOU_nms。


yolov5需要的环境


matplotlib>=3.2.2
 
numpy>=1.18.5
 
opencv-python>=4.1.2
 
pillow
 
PyYAML>=5.3
 
scipy>=1.4.1
 
tensorboard>=2.2
 
torch>=1.6.0
 
torchvision>=0.7.0
 
tqdm>=4.41.0

源码下载GitHub - ultralytics/yolov5: YOLOv5 in PyTorch > ONNX > CoreML > TFLite


开始配置——必看

CUDA

CUDA(Compute Unified Device Architecture统一计算设备架构)是显卡厂商NVIDIA在2007年推出的并行计算平台和编程模型。它利用图形处理器(GPU)能力实现计算性能的显著提高。CUDA是一种由NVIDIA推出的通用并行计算架构该架构使GPU能够解决复杂的计算问题从而能通过程序控制底层的硬件进行计算。它包含了CUDA指令集架构(ISA)以及GPU内部的并行计算引擎。开发人员可以使用C/C++/C++11语言来为CUDA架构编写程序。CUDA提供host-device的编程模式以及非常多的接口函数和科学计算库通过同时执行大量的线程而达到并行的目的。


Pytorch

Pytorch是torch的python版本是由Facebook开源的神经网络框架专门针对 GPU 加速的深度神经网络DNN编程。Torch 是一个经典的对多维矩阵数据进行操作的张量tensor 库在机器学习和其他数学密集型应用有广泛应用。与Tensorflow的静态计算图不同pytorch的计算图是动态的可以根据计算需要实时改变计算图。但由于Torch语言采用 Lua导致在国内一直很小众并逐渐被支持 Python 的 Tensorflow 抢走用户。作为经典机器学习库 Torch 的端口PyTorch 为 Python 语言使用者提供了舒适的写代码选择。
 


CUDANN

NVIDIA cuDNN是用于深度神经网络的GPU加速库。它强调性能、易用性和低内存开销。NVIDIA cuDNN可以集成到更高级别的机器学习框架中如谷歌的Tensorflow、加州大学伯克利分校的流行caffe软件。简单的插入式设计可以让开发人员专注于设计和实现神经网络模型而不是简单调整性能同时还可以在GPU上实现高性能现代并行计算。


ANACONDA

Anaconda 中文 大蟒蛇 是一个开源的 Python 发行版本其包含了 conda 、Python等180多个科学包及其依赖项。 [1] Anaconda包括Conda、Python以及一大堆安装好的工具包比如 numpy 、 pandas 等


配置正式开始

第一步安装显卡驱动

下载链接    https://www.nvidia.cn/geforce/drivers/

查看自己的显卡

桌面上的 NVIDIA 控制面板

 选择直接的显卡型号下载

下载后安装

选择放置的一个文件夹

 

等待

选第一个

 选着自定义

下一步

等待安装

 显卡驱动就安装成功


第二步 安装好Anaconda

安装过的可以跳过这一步

Anaconda | The World's Most Popular Data Science Platform

选着win10的下载

开始安装 

选择路径

 选着

 

这样就安装成功了

anaconda换源

windows下

在清华源和中科大源之间自行选择

1 添加清华源

命令行中直接使用以下命令

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
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/cloud/msys2/

# 设置搜索时显示通道地址
conda config --set show_channel_urls yes

注意如果需要pytorch, 还需要添加pytorch的镜像

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/

2 添加中科大源

conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/msys2/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/bioconda/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/menpo/
conda config --set show_channel_urls yes

Linux下

将以上配置文件写在~/.condarc

vim ~/.condarc

channels:
  - https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
  - https://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
  - defaults
show_channel_urls: true

第三步安装并配置CUDA

1.到链接: 英伟达官网.官网下载对应的CUDA版本。我下载的版本是CUDA10.2

 我选择的是exe[network]也就是在线安装最后下载下载完成后双击exe文件。

安装CUDA双击执行下载的exe文件会先解压文件到临时目录不是安装目录保持默认即可

 这里需要选择自定义安装

 

 这里要把图示圈起来的对勾去掉

 这三个地址十分重要后续我们将进行环境变量的配置不要改变路径。

之后等待安装完成即可。

配置CUDA环境变量首先右键我的电脑-属性-高级系统设置-环境变量

在Path中手动添加如下路径

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\lib\x64
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\include
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\extras\CUPTI\lib64
C:\ProgramData\NVIDIA Corporation\CUDA Samples\v10.2\bin\win64
C:\ProgramData\NVIDIA Corporation\CUDA Samples\v10.2\common\lib\x64

 

我们可以验证一下cuda是否成功按win+R 输入cmd

nvcc -V

 


第四步安装cuDNN

到链接: 英伟达.下载与CUDA对应的cuDNN这里需要我们注册一个账号然后登录下载下载时一定注意与CUDA的版本对应如果你下载的CUDA为10.2则下载第二个。

 下载之后解压缩将CUDNN文件夹中的各自的bin、clude、lib文件夹中的内容直接复制添加到CUDA的刚刚安装目录的对应相同名字的文件夹下。


第五步 pytorch安装

严格对于版本来安装

1。打开链接: pytorch官网.找到匹配的版本我选择的是win10下的CUDA为10.2的版本

 可以看到给出了命令但是在国内不翻墙的情况下下载速度极慢并且容易卡顿我修改了一下命令可以使用国内的清华源进行下载速度较快

pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple torch===1.6.0 torchvision===0.7.0 -f https://download.pytorch.org/whl/torch_stable.html

如果你选择的是CUDA10.1版本的那么使用下面命令下载    这里个人的计算机配置不一样就拿我的来说cuda10.1可以运行cuda11无法运行GPU版这里可以多试几次找到适合自己的版本

pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple torch==1.6.0 torchvision==0.7.0 -f https://download.pytorch.org/whl/torch_stable.html

命令使用方法

 打开anaconda prompt

首先创建一个pytorch的虚拟环境

依次执行以下指令指令最右侧的文字和斜杠不需要复制

conda create -n yolov5 python=3.8  //创建名为【yolov5】的python3.8环境并通过

conda activate yolov5                        //通过activate激活环境

git clone https://github.com/ultralytics/yolov5.git   //下载yolo v5项目

cd yolov5                                             //将当前路径切换至 yolo v5目录

pip install -U -r requirements.txt       //根据作者创建好的txt下载所需环境

yolov5这个名字可以随便换别带中文

 输入y等待环境创建完成。

键入 conda activate yolov5 进入pytorch的环境如果前面括号的内容发生改变代表进入成功。

之后输入下载对象pytorch版本的命令即可由于我选择的是CUDA10.2那我我需要键入

pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple torch===1.6.0 torchvision===0.7.0 -f https://download.pytorch.org/whl/torch_stable.html

 等待下载完成即安装完成!!!


第六步测试pytorch CUDA是否可用

1。首先进入我们刚才建立的虚拟环境由于我的虚拟环境命名为pytorch你们的命名为pytorch_gpu或其他根据命名输入命令之后输入python进入python。

 输入以下命令进行测试

import torch
print(torch.__version__)
print(torch.cuda.is_available())#cuda是否可用
torch.cuda.device_count()#返回GPU的数量
torch.cuda.get_device_name(0)#返回gpu名字设备索引默认从0开始

结果如下证明安装成功

 在安装过程中遇到的问题
在使用conda清华源进行安装CUDA10.2版本的pytorch在最后测试CUDA是否可用的过程中一直是False至今没找到具体原因在测试CUDA和cuDNN时显卡都是正常的但是使用pip下载下载过后错误就消失了初步分析使用conda下载可能有文件的缺失。
 


第七步下载YOLOv5 github项目

https://github.com/ultralytics/yolov5

如果安装了git可以使用git clone https://github.com/ultralytics/yolov5没有的话直接下载zip压缩包也行把压缩包解压到指定目录就行。


安装相关依赖库和包

查看一下requirements.txt 里面的内容并下载所有的依赖包
依次安装建议可以用清华源进行安装
先把清华源设置成默认

pip install pip -U
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

再依次安装下载过程如果因为网络原因失败或者过慢的话可以在命令后加上

-i https://pypi.tuna.tsinghua.edu.cn/simple 来使用清华镜像源

pip install tqdm
pip install scipy
pip install pyyaml
pip install matplotlib
pip install opencv-python==4.1.2.30
pip install requests
pip install seaborn
pip install pandas

之后在终端去到yolov5的文件夹在外面的yolov5文件夹注释掉torch>=1.7.0和#orchvision>=0.8.1修改完后再输入pip install -r requirements.txt检查一下什么没有安装

安装pytorch需要注意一下

还是要先换源

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
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/cloud/msys2/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/menpo/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/

然后再用下面的命令代码确认

conda config --set show_channel_urls yes

打开pycharm

 选着刚才我们创建的虚拟环境

放入yolov5代码就可以运行了。

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6