Y2-使用自己的数据集训练YOLO-v5s
- 🍨 本文为🔗365天深度学习训练营 中的学习记录博客
- 🍖 原作者:K同学啊 | 接辅导、项目定制
本文使用水果数据集、CPU进行训练,包含200张图像,水果类别分为4类,Banana、Snake fruit、Dragon fruit和Pineapple
。
本文先列出执行过程中遇到的问题以及解决办法,再将执行步骤一一说明,给出的代码是我修改过后的最终的代码。
需要注意的是:!!!文件路径不要包含中文!!!
零、遇到的问题汇总
(1)遇到git的import error
参考【这里】解决:
找到提示报错的路径d:\jupyter notebook\365-DL\.venv\Lib\site-packages\git\cmd.py
,然后在该文件中添加一行:
os.environ['GIT_PYTHON_REFRESH'] = 'quiet'
(2)Error:Dataset not found
路径中含有中文,删除中文。
(3)Error:删除中文后,训练图片路径不存在
将split_train_val.py
和voc_label.py
生成的所有文件删除,重新生成。【注意检查路径】
如下所示:
【注意abs_path的路径,本文的图像路径为D:\jupyter notebook\365-DL\YOLO\Y2\yolov5-master\Y2-fruit_data\images\*.png
,而abs_path=D:\jupyter notebook\365-DL\YOLO\Y2\yolov5-master
】
一、.xml文件里保存的是什么
在annotations/
文件夹里,打开任意一个.xml
文件,这里打开fruit0.xml
,文件内容如下:
注意每个标签组内的信息,后续voc_label.py
文件会提取这些信息。
<annotation>
<folder>images</folder>
<filename>fruit0.png</filename>
<size>
<width>400</width>
<height>300</height>
<depth>3</depth>
</size>
<segmented>0</segmented>
<object>
<name>pineapple</name>
<pose>Unspecified</pose>
<truncated>0</truncated>
<occluded>0</occluded>
<difficult>0</difficult>
<bndbox>
<xmin>38</xmin>
<ymin>82</ymin>
<xmax>271</xmax>
<ymax>227</ymax>
</bndbox>
</object>
<object>
<name>snake fruit</name>
<pose>Unspecified</pose>
<truncated>0</truncated>
<occluded>0</occluded>
<difficult>0</difficult