没有合适的资源?快使用搜索试试~ 我知道了~
如何训练自己的数据集05191
试读
7页
需积分: 0 0 下载量 178 浏览量
更新于2022-08-08
收藏 350KB DOCX 举报
(2)打开get_map.py文件,可以修改map_mode为01234,但是若修改为4需要注意下注释
(2)数据集问题,小于500的自行考虑增加数据集,同时测
yolo.py 这个文件是与训练完之后进行预测用的,与训练过程无关。于是当下载了代码和
预训练权重之后,由于预训练权重是在 coco 数据集上训练出来的,于是 yolo.py 里面的
所要去预测的类别的 txt 文件只能指向 coco_classes.txt。虽然 voc 数据集(20 个类)里
面的类在 coco 数据集(80 个类)里面都有,但是如果修改为 voc_classes.txt 就会报错。
载入预训练权重可以预测 voc 里面没有但是 coco 里有的类,比如 umbrella。(如果只想
预测 voc 里面的类,请在代码里面修改,加上类别判定条件即可。)
关于使用预训练权重,比如使用 coco 训练出来的 YOLO 权重,coco 有 80 各类,而自己
的数据集不是 80 各类,其实只有最后输出的三个特征图在通道数上有区别,其他任何
地方都没有区别,所以加载的时候可以通过下面的代码加载匹配的权重:
所以,如果采用迁移学习去训练的话,不管是自己的数据集还是 voc2007+2012 数据集,
首先下载代码与预训练权重(注:如果修改了网络结构的话就没办法用预训练权重
了),参照以下步骤:
(前提要求:标签必须是 VOC 格式的,即 XML 文件。图片必须是 jpg 格式的。Coco 数
据集是 json 格式的标签,可以用程序转成 voc 格式。其他格式的图片也能转为 jpg 格式)
1. 首先删除一些东西:
(1)logs 文件夹下所有权重和日志文件
(2)VOCdevkit/VOC2007/ImageSets/Main 文件夹下的四个 txt 文件
(3)2007_train.txt 和 2007_val.txt 文件
(4)map_out 文件夹。因为保存的是上一次测试的结果,必须删掉。
2. 用 labelimg 制作数据集,原图片需要是 jpg 格式,标签必须是 voc 格式(XML 文件,
且格式必须和 VOC2007+2012 的一样)。可以用 python 函数将 png 格式转成 jpg 格式,
函数在 F 盘的 DataSet_VOC/convert_img.py
3. 将制作的数据集中的图片(只能是 jpg 格式)和标签分别放在 VOCdevkit\VOC2007 文
件夹下的 JPEGImages 文件夹和 Anotations 文件夹下。
4. 在 model_data 文件夹下新建一个 txt 文件,里面是数据集里面的类别,要竖着写,
比如 dog、cat、person......。比如命名为 my_classes.txt。
5. 打开 voc_anotations.py 文件:
(1)修改 annotation_mode = 0
(2)修改 classes_path = 'model_data/my_classes.txt'
(3)运行 voc_anotations.py 生成所需 txt 文件
6. 打开 train.py 文件:
(1)修改 classes_path = 'model_data/my_classes.txt',这个 txt 必须和 voc_annotation.py
里面的 txt 一样!。
(2)model_path = 'model_data/yolo_weights.pth'是加载别人预训练的权重,一般不修改
(要先把这个权重文件下载下来放在对应文件夹下面)
(3)input_shape= [416, 416],可以根据自己数据集图片的大小修改,比如 640,608,320
等,但必须是 32 的倍数
(4)冻结阶段与解冻阶段的参数修改,如 epoch、batch_size、lr 等
(5)Freeze_Train 为 True。利用了迁移学习。
(6)num_workers 在 Windows 下可以设置为 4,但训练程序必须在 main 函数内。
(7)运行 train.py 进行训练,同时会在 logs 文件夹下面保存损失函数信息,文件夹里面
放的是损失函数(包括训练、测试与验证),以及模型权重。
7. 打开 predict.py 文件,利用训练好的权重进行预测:
(1)在预测之前,进入 YOLO()这个类里面调整一些参数:
首先是载入自己训练出的权重和指明数据集类别--->
"model_path" : './logs/ep010-loss62.651-val_loss50.685.pth',
"classes_path" : 'model_data/my_classes.txt',
注:此处类别的 txt 必须和训练的 train.py 文件里的一样。
然后可以调整置信度阈值和 nms_iou 阈值--->
剩余6页未读,继续阅读
资源推荐
资源评论
2023-08-25 上传
5星 · 资源好评率100%
2022-04-14 上传
137 浏览量
150 浏览量
5星 · 资源好评率100%
173 浏览量
2023-08-27 上传
5星 · 资源好评率100%
5星 · 资源好评率100%
111 浏览量
154 浏览量
2023-10-18 上传
2021-11-21 上传
5星 · 资源好评率100%
112 浏览量
2024-04-25 上传
2024-06-26 上传
2024-05-02 上传
197 浏览量
5星 · 资源好评率100%
5星 · 资源好评率100%
153 浏览量
5星 · 资源好评率100%
2019-05-23 上传
5星 · 资源好评率100%
191 浏览量
资源评论
狼You
- 粉丝: 27
- 资源: 324
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于web的在线学习管理系统设计与实现
- 基于JavaWeb的汽车租赁平台论文.doc
- 基于javaweb的KTV点歌管理系统论文.doc
- 预警插件-Fine-report11
- 建设项目现场高温人员中暑事故应急预案.docx
- 建设项目工程超高层测量放线控制方案.docx
- 建筑公司建设项目现场雷电事故应急预案.docx
- 建筑公司员工食物中毒事故应急预案.docx
- 建筑公司建设项目现场风灾事故应急预案.docx
- 建筑集团建设项目火险应急预案.docx
- 深圳建设施工项目物体打击事故应急预案.docx
- 深圳建设项目高处坠落事故应急预案.docx
- 深圳建设项目机械伤害事故应急预案.docx
- 深圳建设项目施工现场各类事故应急预案.docx
- 深圳建设项目现场触电应急预案.docx
- 深圳建设项目坍塌事故应急预案.docx
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功