189 8069 5689

我参加NVIDIASkyHackathon---Yolov5环境配置-创新互联

Yolov5 环境配置完成后配置练习文件以及练习数据注意事项

创新互联-专业网站定制、快速模板网站建设、高性价比达日网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式达日网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖达日地区。费用合理售后完善,10多年实体公司更值得信赖。

参考https://blog.csdn.net/qq_36756866/article/details/109111065

1)准备自己的数据集

  1. 在yolov5目录下创建 yolo_1文件夹(名字可以自定义),目录结构如下,将之前labelImg标注好的xml文件和图片放到对应目录下 yolo_1

…images # 存放图片

…Annotations # 存放图片对应的xml文件

…ImageSets/Main #之后会在Main文件夹内自动生成train.txt,val.txt,test.txt和trainval.txt四个文件,存放训练集、验证集、测试集图片的名字(无后缀.jpg)

示例如下:

如果生成的是xml文件是以下的步骤(txt生成的在下面

开始{

yolo_1文件夹下内容如下:

Annotations文件夹下面为xml文件(标注工具采用labelImage),内容如下:

images为VOC数据集格式中的JPEGImages,内容如下:

脚本内容在

脚本功能:ImageSets文件夹下面有个Main子文件夹,其下面存放训练集、验证集、测试集的划分,通过脚本生成,可以创建randomfile_xmlstep1一个文件

运行代码后,在Main文件夹下生成下面四个txt文档:

2.接下来准备labels,把数据集格式转换成yolo_txt格式,即将每个xml标注提取bbox信息为txt格式(这种数据集格式成为yolo_txt格式),每个图像对应一个txt文件,文件每一行为一个目标的信息,包括class, x_center, y_center, width, height格式。格式如下:

创建labels

创建 脚本,将训练集、验证集、测试集生成label标签(训练中要用到),同时将数据集路径导入txt文件中

运行后会生成如下laels文件夹和三个包含数据集的txt文件,其中labels中为不同图像的标注文件,train.txt等txt文件为划分后图像所在位置的绝对路径,如train.txt就含有所有训练集图像的绝对路径。

运行voc_label.py时报错“ZeroDivisionError: float division by zero”的原因是:标注文件中存在width为0或者height为0的数据,检查修改后可解决。

三个txt文件里面的内容如下:

}结束

如果生成的是txt文件是以下的步骤

开始{

运行生成ImageSets内容的脚本

脚本内容在

脚本功能:ImageSets文件夹下面有个Main子文件夹,其下面存放训练集、验证集、测试集的划分,通过脚本生成,可以创建randomfile_xmlstep1一个文件

运行代码后,在Main文件夹下生成下面四个txt文档:

2.接下来准备labels,把数据集格式转换成yolo_txt格式,即将每个xml标注提取bbox信息为txt格式(这种数据集格式成为yolo_txt格式),每个图像对应一个txt文件,文件每一行为一个目标的信息,包括class, x_center, y_center, width, height格式。格式如下:

创建labels

创建 脚本,将训练集、验证集、测试集生成label标签(训练中要用到),同时将数据集路径导入txt文件中

运行后会生成如下labels文件夹和三个包含数据集的txt文件,其中labels中为不同图像的标注文件,train.txt等txt文件为划分后图像所在位置的绝对路径,如train.txt就含有所有训练集图像的绝对路径。

运行voc_label.py时报错“ZeroDivisionError: float division by zero”的原因是:标注文件中存在width为0或者height为0的数据,检查修改后可解决。

三个txt文件里面的内容如下:

}结束 调用脚本的时候需要更改其中的相关路径

3配置文件

1)数据集的配置

在yolov5目录下的data文件夹下新建一个ab.yaml文件(可以自定义命名),用来存放训练集和验证集的划分文件(train.txt和val.txt),这两个文件是通过运行voc_label.py代码生成的,然后是目标的类别数目和具体类别列表

疑问:ab.yaml文件中train和val通过train.txt和val.txt指定,我在训练时报错会提示datasets文件找不到 说明路径设置的不对 脚本生成的文本路径也会影响

2)模型训练

源码中在yolov5目录下的weights文件夹下提供了下载四种预训练模型的脚本----download_weights.sh

2.训练

在train.py进行以下几个修改:

以上参数解释如下:

epochs:指的就是训练过程中整个数据集将被迭代多少次,显卡不行你就调小点。

batch-size:一次看完多少张图片才进行权重更新,梯度下降的mini-batch,显卡不行你就调小点。

cfg:存储模型结构的配置文件

data:存储训练、测试数据的文件

img-size:输入图片宽高,显卡不行你就调小点。

rect:进行矩形训练

resume:恢复最近保存的模型开始训练

nosave:仅保存最终checkpoint

notest:仅测试最后的epoch

evolve:进化超参数

bucket:gsutil bucket

cache-images:缓存图像以加快训练速度

weights:权重文件路径

name: 重命名results.txt to results_name.txt

device:cuda device, i.e. 0 or 0,1,2,3 or cpu

adam:使用adam优化

multi-scale:多尺度训练,img-size +/- 50%

single-cls:单类别的训练集

之后运行训练命令如下:

python train_1.py --img 640 --batch 8 --epochs 300 --data data/ab.yaml --weights yolov5x.pt

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


当前名称:我参加NVIDIASkyHackathon---Yolov5环境配置-创新互联
浏览路径:http://cdxtjz.cn/article/pcide.html

其他资讯