Tensorflow版yolov3训练自己的数据
Tensorflow版yolov3训练自己的数据
源代码:https://github.com/YunYang1994/TensorFlow2.0-Examples/tree/master/4-Object_Detection/YOLOV3
本机可运行的环境如下:
1. 下载完代码后首先在主/根目录下建立train和test文件夹,目录树如下:
test为测试集,train为训练集,与voc_annotation.py文件中设置的路径需一致才能生成voc_train.txt和voc_test.txt
2. 打开voc_annotation.py修改如下:
修改自己需要训练的类别
voc_train.txt和voc_test.txt这两个文件不能删除!!
修改其他相关的数据路径如下:
修改好相关路径后运行代码即可生成新的voc_train.txt和voc_test.txt文件
3. 修改core/config.py文件
__C.YOLO.CLASSES
__C.YOLO.ORIGINAL_WEIGHT
__C.YOLO.DEMO_WEIGHT
__C.TRAIN.ANNOT_PATH等相关参数
BATCH_SIZE调小,不然会出错,GTX1650显卡BATCH_SIZE=2勉强可以运行
4. 下载权重文件,从coco加载权重
从https://github.com/YunYang1994/tensorflow-yolov3/releases/download/v1.0/yolov3_coco.tar.gz下载权重,解压到checkpoint文件夹下。(已下载并解压的直接运行下面的文件,记得加参数)如果已经恢复过了就不用再进行转换了。
如果出现Runtime Error,则需要删除现有的checkpoint文件,重新解压或者从别处复制新的checkpoint文件(共7个),两个模型的名字需要一样
运行python convert_weight.py --train_from_coco转换权重,不然训练时会出现:**xxx does not exist !!!**就不会加载coco的权重从头开始训练。
5. 运行train.py即可开始训练
训练完成后在checkpoint文件夹下会生成yolov3_test-loss=xxxx.ckpt-xx模型文件
观察Train loss和Test loss的变化情况,当两个都在下降时表明还欠拟合,当train loss下降而test loss上升时,表明有过拟合的倾向了,可以提前终止训练。
6. 生成pb文件,用于检测图片
打开frezee_graph.py修改下面两个参数
在image_demo.py里修改下面两参数运行即可得到图片检测结果
修改类别数
tips:如果出现类别预测错误,将voc_names里面的类别顺序改成与voc_annotation.py里的classes顺序一致即可
7. 评估模型
打开evaluate.py查看需要评估模型是否正确,config.py里面更改测试模型TEST_WEIGHT_FILE,运行evaluate.py
运行mAP下的main.py即可得到AP及mAP
如果类别名称之间存在空格,则需要先修改extra文件夹下面的class_list文件里面的类别,然后运行remove_space.py文件
如有侵权请私信联系删除谢谢!
Tensorflow版yolov3训练自己的数据相关推荐
- python调用yolov3模型,pytorch版yolov3训练自己的数据(数据,代码,预训练模型下载链接)...
1.数据预处理 准备图片数据(JPEGImages),标注文件(Annotations),以及划分好测试集训练集的索引号(ImageSets) 修改代码中voc_label.py文件中的路径以及类别, ...
- WIN10 +pytorch版yolov3训练自己数据集
pytorch版yolov3训练自己数据集 目录 1. 环境搭建 2. 数据集构建 3. 训练模型 4. 测试模型 5. 评估模型 6. 可视化 7. 高级进阶-网络结构更改 1. 环境搭建 将git ...
- YOLOv3训练自己的数据(附优化与问题总结)
文章目录 YOLOv3训练自己的数据附优化与问题总结 环境说明 实现YOLOV3的demo 命令简介 训练自己的数据 优化与个性化问题 2020.3.11 更新可视化和python接口 可能出现的问题 ...
- YOLOv3: 训练自己的数据(绝对经典版本1)
为什么80%的码农都做不了架构师?>>> windows版本:请参考:https://github.com/AlexeyAB/darknet linux 版本:请参 ...
- 目标检测第5步-使用keras版YOLOv3训练
致谢声明 1.本文学习Patrick_Lxc的博客<Keras/Tensorflow+python+yolo3训练自己的数据集>并优化其中代码. 原博客链接:https://blog.cs ...
- 【学习笔记】使用Tensorflow版ENet训练自己的数据集labelme生成灰度标签图片问题
使用的代码:kwotsin所写的Tensorflow版,180星 记录一下训练的过程,方便以后翻阅. 首先是数据集的准备,数据集的文件夹结构为: ├── test ├── testannot ├── ...
- YOLOv3: 训练自己的数据
windows版本:请参考:https://github.com/AlexeyAB/darknet linux 版本:请参考本文与 https://pjreddie.com/darknet ...
- 转载:YOLOv3: 训练自己的数据
转载 **感谢nusit_305大神的杰作 https://blog.csdn.net/lilai619/article/details/79695109** linux ...
- YOLOv3训练自己的数据
本文转载自:nusit_305的博客 点击打开链接 第一部分:论文与代码 第二部分:如何训练自己的数据 第三部分:疑惑解释 第四部分:测试相关 第一部分:论文与代码 论 文:https://pjre ...
最新文章
- matlab的知识点1
- java 判断 年份,java怎么判断指定年份是否是闰年
- Log4j使用详解(log4j.XML格式)
- android studio异步单元测试,在Android Studio中可以进行单元测试
- Flink Forward Asia 2020 - Keynote 总结
- 超硬核的 OCR 开发利器推荐:从场景案例到实操演示,快速掌握OCR模型训练
- 《云阅》一个仿网易云音乐UI,使用Gank.Io及豆瓣Api开发的开源项目
- Hanoi Tower问题分析
- matlab中文免费版下载以及安装教程(超详细)
- html表格中加入斜线,html中给表格添加斜线
- Up in the Air-16
- Vue中禁止鼠标滑轮事件
- 论文人强烈推荐必备的几个中英文文献网站
- 如何上传工资表在微信查询---智慧查询
- matlab绘图之自定义色标colorbar的刻度值
- access violation at address 解决之法【转】
- PowerDesigner工具箱(palette)关了如何重新打开
- 狂刷这套Java并发编程面试题及答案(GitHub标星21.7K),五月收获美团/京东/字节Offer
- 存货账龄分析报表(中三)
- 论语之雍也第六、述而第七