YOLO 是 “You only look once” 缩写 , 是将图像划分为网格系统的对象检测算法,网格中的每个单元负责检测自身内的对象。
由于其速度和准确性,YOLO是最著名的目标检测算法之一。yolov5作为YOLO系列第五个迭代版本,它的一个特点就是权重文件非常之小,可以搭载在配置更低的移动设备上,而且容易学习上手。
博主也是最近开始玩yolov5的,甚至也是最近开始使用python的,很多东西都没有接触过,因此搭建环境的过程也比较痛苦,所以想写篇博客记录一下,希望同样是零基础的小伙伴们可以更加轻松的上手。同时大家如果发现了错误和理解偏差,欢迎指正。
参考资料:
1.史上最详细yolov5环境配置搭建+配置所需文件
2.理解Python虚拟环境
3. 半小时搞定Yolov5安装配置及使用(详细过程)
本教程所使用版本:
踩坑经历:
短横杠-
以及空格
等等特殊字符,中文更不能要有❗
。否则在之后训练时会出现各种路径找不到的问题 Anconda本质是一个开源的 Python 包管理器,包含了180多个科学包及其依赖项,是基于 conda 的 Python 数据科学和机器学习开发平台。
而python自身缺少numpy、matplotlib、scipy、scikit-learn等一系列包,需要 pip安装来导入这些包才能进行相应运算。
Pycharm本质是一个集成开发环境,能过让你快速运行调试代码。
Anconda除了提供丰富的科学包外,还可以用于进行环境隔离
。当我们安装一个 Python 程序或者库的时候,这些包默认都会安装到 Python 当前环境的 site-packages 目录下面。然而,同一个库只能在一个环境中存在一份。
不妨试想这样一个场景:程序A依赖的xxx库要求版本 >=1.23.0,程序B同样依赖xxx库,但是要求版本低于 <= 1.21.0,这样就会出现版本冲突问题。
所以虚拟环境的意义在于,防止不同的python项目需要依赖的版本不同导致的各种冲突问题。
>博客教程链接
方法一:git clone到本地本地仓库
[指令]:git clone https://github.com/ultralytics/yolov5
方法二:直接安装压缩包
没有安装 git 的朋友可以直接点击Code
下载压缩包
为了缩短网络的训练时间,并达到更好的精度,我们一般加载预训练权重进行网络的训练。
yolov5的6.2版本给我们提供了以上几个预训练权重,我们可以对应我们不同的需求选择不同的版本的预训练权重。在实际场景中是比较看这种速度,所以YOLOv5s
是比较常用的。
将安装好的预训练模型放在yolo文件下(其实位置没有严格要求,在下篇训练自己的数据集时就会明白)
使用pip install -r requirements.txt
即可安装requirement.txt(见上)中所需要的依赖项,具体做法见下:
在yolov5文件夹下输入cmd快速切换路径到当前文件夹下,否则需要用cd指令切换到当前文件夹下。
【易错】:一定要切到该文件夹下,否则下载时会提示:
ERROR: Could not open requirements file: [Errno 2] No such file or directory: 'requirements.txt'
我们首先创建一个名为 pytorch
的虚拟环境,并且切换到当前虚拟环境下。conda常用指令如下:
- 创建虚拟环境:
conda create -n [虚拟环境名] python=[版本]
- 显示虚拟环境:
conda env list
- 激活虚拟环境:
conda activate + [虚拟环境名]
(贴士:将conda源换成国内镜像源,下载速度会快不少Anaconda换国内源教程;同样pip;同样pip也推荐大家换源,大家可以自行搜搜换源方法)
首次激活虚拟环境时会遇到这样的问题,解决办法也提出了,使用conda init [shell]
来激活后重启即可:
(我们成功进入到pytorch虚拟环境中)
输入pip install -r requirements.txt
指令进行安装,安装完成我们可以在 XXX\Anconda\envs\pytorch\Lib\site-packages
路径下看到我们安装的各种依赖库。
运行yolov5文件夹下的detect.py文件,若正常运行则说明yolov5安装成功,运行结果可以runs\
文件夹下看到。
>博客推荐:全面总结 pip install 与 conda install 的使用区别
我们使用labelimg标注图片,构建自己的数据集。labelimg的安装也很简单,使用pip install labelimg
即可
从上面两种图中我们也可以看出虚拟环境的意义,它可以避免版本冲突。如果遇到了图二中的错误,首先把版本冲突的软件删掉,再下载符合版本要求的软件。参考指令如下:
pip uninstall XXX
pip install XXX==
label的具体使用将在下一篇中具体说明