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代码就可以运行了。