YOLOv7(目标检测)入门教程详解---环境安装
目录
一.前言
二.yolov7环境搭建
直接进入正题,环境搭建开始:
Anaconda:
Pycharm:
cuda:
cuda安装:
cudnn:
三.虚拟环境安装
创建虚拟python环境:
Pytorch:
四.总结
一.前言
由于最近博主在参加一个无人机的比赛,需要对障碍物进行识别。所以根据调查考究,决定使用YOLO算法对障碍物进行目标检测,yolo算法的系列非常之多,那么最新的就是前段时间AB大神团队(yolov4的作者)出的yolov7。那么作为零基础深度学习的我,在这半个月探索的过程中可谓是经历了风风雨雨百般挫折,好在最终修成正果。可以说使用yolo进行目标检测的门槛挺高的,如果像博主我这种一开始完全不懂的零基础的小白而言,要搜索将近几百篇博客才可能真正的能够跑通并且使用yolov7进行推理,训练。那么我对接下来要出的yolov7相关博客的主要内容进行一个前言总结:1. 对网上相关博客进行整理归纳总结,真正意义上的帮助零基础小白实现yolov7的推理和训练 2.深度学习环境搭建 3.用python和c++分别实现yolov7 4.常见bug的分析
二.yolov7环境搭建
可以说小白yolov7入门的第一个难题就是深度学习相关环境的搭建,很多人在尝试了几次环境搭建失败之后就选择放弃,也就不了了之了,那么博主毫不夸张的说经历了上百次的失败,最终才成功的。所以在入门yolov7的过程中首先最重要的就是有恒心,每个人的电脑都不一样,所以出现的问题也会不同,要多去尝试,不要轻易放弃。
直接进入正题,环境搭建开始:
b站较好的安装视频教程:https://www.bilibili.com/video/BV1ov41137Z8?spm_id_from=333.337.search-card.all.click&vd_source=b0652e40837b5f6c1f58d67197f17c2f
Anaconda:
安装Anaconda主要是搭建python的虚拟环境,之后我们进行yolov7的detect和train都会在终端进行
下载官网:Anaconda | The World's Most Popular Data Science Platform
选择对应的电脑版本安装:
勾选环境变量:
在安装Anaconda的过程中基本上是没啥坑的,也很少出现安装失败的过程。如果安装失败,可以参考以上的视频链接或者私信我进行讨论。
Pycharm:
pycharm是编译运行python的平台,yolov7的源码基本都是python语言,所以安装pycharm有助于之后打开yolov7相关源码进行分析查看
下载官网:PyCharm:JetBrains为专业开发者提供的Python IDE
进入官网点击下载就ok,下载community就行了
pycharm的安装也不会有什么大问题的,就是正常的安装路径,大概率不会出错。
cuda:
cuda这里我直接标红了,对于第一次安装cuda的小白来说,这会存在非常之多的问题。所以这里我会详细的进行介绍。
cuda是什么:
cuda:CUDA(Compute Unified Device Architecture,统一计算架构[1])是由英伟达NVIDIA所推出的一种集成技术,是该公司对于GPGPU的正式名称。透过这个技术,用户可利用NVIDIA的GPU进行图像处理之外的运算,亦是首次可以利用GPU作为C-编译器的开发环境。CUDA 开发包(CUDA Toolkit )只能将自家的CUDA C-语言(对OpenCL只有链接的功能[2]),也就是执行于GPU的部分编译成PTX中间语言或是特定NVIDIA GPU架构的机器代码(NVIDIA 官方称为 "device code");而执行于中央处理器部分的C / C++代码(NVIDIA 官方称为 "host code")仍依赖于外部的编译器,如Microsoft Windows下需要Microsoft Visual Studio;Linux下则主要依赖于GCC
上面是对cuda的介绍,简要来说cuda是我们电脑gpu必要的开发包,我们后面所有的训练推理以及转onnx模型乃至于pytorch的安装都需要cuda与GPU的结合。直白的说,你没有cuda,你的GPU在深度学习中啥也不是,就是个摆设而已。(当然你要是没有GPU,就当我说的都是废话吧)我相信大多数同学的电脑还是带有GPU的,并且毕竟是图像处理,深度学习,在后面我们就会知道GPU推理速度可以是CPU的几十倍,只有使用GPU才能把yolov7的强大表现出来。
cuda安装:
我们先不急着去找cuda官网进行安装,首先我们要先知道自己显卡的属性,我们的显卡支持什么版本的cuda。首先 WIN +R cmd运行:
输入nvidia-smi
然后我们会看到表格的右上角有一个 CUDA Version:11.6 博主我的电脑显卡是RTX 3070,所以最高支持CUDA 11.6版本,所以说如果超过11.6版本的cuda我的电脑是没能力支持的,我只能安装cuda 11.6以下的版本。11.6是当前较新的版,强烈建议:不要安装最新的版本cuda,这样后续其他环境的安装可能就找不到对应的版本,导致重新安装会非常的麻烦 所以我安装的是cuda 11.0版本 如果你的显卡不支持11.0以上版本就安装你相对应能够匹配的版本。
接下来,删掉你电脑里存在的所有nvidia的插件(不要害怕,之后可以下载回来)
打开你的控制面板,卸载程序:
虽然说可以留那么一两个不卸载,但是我觉得能看到我博客的应该都是小白,所以我就不跟你们说那么多了,直接全部卸载,以绝后患。
这里仍然还存在一个问题,也是之后会导致你安装失败并且百思不得其解的bug,就是你的cuda和VS版本的问题,我的建议是如果你的显卡支持11.0以上版本cuda,就先安装vs2019,如果是其它版本的VS直接先卸载重装VS 2019 ,如果你的cuda版本只支持10.2以内,那么你先把VS卸载,并且不要安装,我们先老老实实的安装cuda去。
cuda下载官网:CUDA Toolkit Archive | NVIDIA Developer
选择你要下载的版本:
然后我们进入下载页面后选择local 本地下载,方便如果安装失败,可进行重新安装。
如果你是按我说的卸载所有的nvidia插件并且卸载了VS,那么直接精简安装就ok
如果你是第n次安装了,并且装有VS,选择自定义之后,就勾选第一个CUDA就ok,其他都不要勾选,否则非常容易安装失败
点开CUDA, 取消Visual Studio Integeration的勾选,这也是常见的一个安装失败的原因
接下来不要轻易改动默认路径,一般都在c盘
之后一切正常的话就安装成功了
查看环境变量
点击设置-->搜索高级系统设置-->查看环境变量
手动添加以下两个变量
系统会自动生成以下两个变量,如果没有,也请手动添加
接下来我们就要验证验证我们的cuda安装的是否成功了。
同样的win +R cmd进入,输入nvcc -V
如果能看到自己的版本号,就说明基本没有问题了,当然网上还有其他更保险的验证方式,可以到其他博客去看看,有很多,这里就不细说了。接下来我们安装cudnn
cudnn:
下载官网:CUDA Deep Neural Network (cuDNN) | NVIDIA Developer
这里的问题也不大,基本不会有啥错误,进入网址,选择与cuda相对应的cudnn版本进行下载
第一次下载的话,可能需要nvidia的注册,自己就注册一下。然后选择realeases
下载完对应版本的cudnn之后会得到一个文件夹。
复制bin include lib
然后找到我们cuda的默认路径的文件夹,你们的会和我的相同,然后直接将刚刚复制的bin lib include, ctrl v进去就完成了
ok,到现在我们已经把必要的 Anaconda pycharm cuda cudnn都已经安装完成了,外部的这些环境已经安装完毕,我们接下来要终端虚拟环境的安装,也就是yolov7直接需要的终端环境。
三.虚拟环境安装
创建虚拟python环境:
win+R cmd进入终端 输入 conda create -n 环境名 python=X.X
环境名自己取,python版本建议3.7以上,我用的是python 3.8
强调:此刻关掉电脑VPN
创建好自己的虚拟环境之后,通过activate yolo(环境名)进入到指定环境 deactivate退出环境
接下来我们就在创建好的环境下,安装pytorch
Pytorch:
下载官网:PyTorch
到previous中去寻找对应自己cuda版本的pytorch
选择wheel下的pip下载指令,我选择的是对应cuda 11.0的,复制pip指令
进入刚刚创建的环境,然后将指令复制进去,回车下载安装pytorch
强调:关掉电脑的所有VPN
然后就是一系列的安装,我们检查我们的pytorch版本
activate 进入环境之后输入python
torch.__version__
输出对应型号的时候就说明安装成功了(我cuda是11.0但是我安装pytorch是对应11.3的,其实问题也不大,但是不建议,之后如果要用export转onnx的时候我会再说)
四.总结
至此python版本所需要的外部环境安装都已经准备好了,那么下一篇博客我将会详细的介绍yolov7的推理和训练以及检测