yolov5环境配置过程、问题及解决办法
前言
大家好,由此开始我的第一篇博客,也是我机器语言学习的第一篇博客。我于2023年6月底进行了yolov5的环境配置,在此之前我没有python基础和数学基础,因为在准备期末考试,现在才完成环境的配置,我完全是照着这位 大佬博客首页做的,但是配置过程中,出现了各种问题,我也是各种解决,下面我会罗列我出现的问题和自己的一些理解和解决办法。(需说明:每个人遇到的情况是不一样的)
过程及问题
首先出现这些问题的原因是很多包和环境更新的缘故,导致原本yolov5的代码与其不适配,解决方法是更新代码或者下载原始版本的包。
环境依赖部分
我跟着大佬的这篇 博客完成了Anaconda的下载和其他环境的配置。在过程我遇到的唯一问题就是,关于2023年这款新版的Pycharm他的选择环境的方式不太一样。这里只需要在那个界面选择pytorch即可。
我这里只做了pytorch没有做paddle,所以只需要再pytorch下创建一个test1.py,将这段代码复制粘贴,运行即可。
import torch
print(torch.cuda.is_available())
print(torch.backends.cudnn.is_available())
print(torch.cuda_version)
print(torch.backends.cudnn.version())
我的版本和运行结果如图:
利用labelimg制作数据集
labelimg 配置参考这篇博客,我大概出现了一个大家都不会出现的问题,我电脑中途重装系统过,之前把labelimg安到了C盘,还是可以运行的,但是后来重装C盘重新下载之后,每次要数据标注就会出现闪退的问题,我搞了很久,最后发现只要在,Anaconda下自己配制的pytorch环境下,就可以正常使用了。
方法就是,打开你的Anaconda Powershell Prompt然后运行代码激活环境
conda activate pytorch
再运行代码进行下载和使用即可(方法都在这篇博客中)。
xml文件转换和数据集划分
跟大家解释一下这部分的意义,xml文件转换成txt文件是为了方便yolov5识别,而通常训练机器你需要训练集和验证集,所以还需要对数据进行划分,只需参考xml转化博客和数据集划分博客即可。
代码和包修改的部分
在这里大家会出现各种各样的问题,我这里只把我遇到的问题和解决办法列出,供大家参考。
首先我是按着这篇博客做的。
环境安装和依赖的安装
这里有大问题,如果你按照
pip install -r requirements.txt
安装,你会发现pycocotools安装失败(windows都会出现这样的情况),就很离谱,进行完这步之后只需要在终端执行以下代码即可。
pip install pycocotools-windows
运行train和detect
首先第一点,有个包名字叫werkezug的包,应该是我们通过install -r requirements.txt这一步得来的,带是有一个bug,就是我通过上网查询得到,最新版的werkezug需要明确包的路径才能被python引用,这对我这个初学python的人简直不要太难,于是我就卸载了当前的werkeug,安装了1.10.1版本,终端代码如下。
卸载:pip uninstall werkzeug
安装:pip install werkzeug==1.10.1
就可以运行了。
第二点,就是tensorbord这个包,需要手动安装,在终端中输入即可。
pip install tensorboard
第三点,安装SPPF类,详情请看这篇博客。
第四点,torch版本不匹配,详情请看这篇博客。
至此,我出现的问题,已经全部解决。
总结
本人第一次写博客,而且python功底不足,不能为大家解释原理,以后会慢慢学习,回来补充内容的,感谢阅读。