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.txtvoc_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训练自己的数据相关推荐

  1. python调用yolov3模型,pytorch版yolov3训练自己的数据(数据,代码,预训练模型下载链接)...

    1.数据预处理 准备图片数据(JPEGImages),标注文件(Annotations),以及划分好测试集训练集的索引号(ImageSets) 修改代码中voc_label.py文件中的路径以及类别, ...

  2. WIN10 +pytorch版yolov3训练自己数据集

    pytorch版yolov3训练自己数据集 目录 1. 环境搭建 2. 数据集构建 3. 训练模型 4. 测试模型 5. 评估模型 6. 可视化 7. 高级进阶-网络结构更改 1. 环境搭建 将git ...

  3. YOLOv3训练自己的数据(附优化与问题总结)

    文章目录 YOLOv3训练自己的数据附优化与问题总结 环境说明 实现YOLOV3的demo 命令简介 训练自己的数据 优化与个性化问题 2020.3.11 更新可视化和python接口 可能出现的问题 ...

  4. YOLOv3: 训练自己的数据(绝对经典版本1)

    为什么80%的码农都做不了架构师?>>>    windows版本:请参考:https://github.com/AlexeyAB/darknet linux       版本:请参 ...

  5. 目标检测第5步-使用keras版YOLOv3训练

    致谢声明 1.本文学习Patrick_Lxc的博客<Keras/Tensorflow+python+yolo3训练自己的数据集>并优化其中代码. 原博客链接:https://blog.cs ...

  6. 【学习笔记】使用Tensorflow版ENet训练自己的数据集labelme生成灰度标签图片问题

    使用的代码:kwotsin所写的Tensorflow版,180星 记录一下训练的过程,方便以后翻阅. 首先是数据集的准备,数据集的文件夹结构为: ├── test ├── testannot ├── ...

  7. YOLOv3: 训练自己的数据

    windows版本:请参考:https://github.com/AlexeyAB/darknet linux       版本:请参考本文与 https://pjreddie.com/darknet ...

  8. 转载:YOLOv3: 训练自己的数据

    转载 **感谢nusit_305大神的杰作 https://blog.csdn.net/lilai619/article/details/79695109** linux                ...

  9. YOLOv3训练自己的数据

    本文转载自:nusit_305的博客 点击打开链接 第一部分:论文与代码 第二部分:如何训练自己的数据 第三部分:疑惑解释 第四部分:测试相关 第一部分:论文与代码 论  文:https://pjre ...

最新文章

  1. matlab的知识点1
  2. java 判断 年份,java怎么判断指定年份是否是闰年
  3. Log4j使用详解(log4j.XML格式)
  4. android studio异步单元测试,在Android Studio中可以进行单元测试
  5. Flink Forward Asia 2020 - Keynote 总结
  6. 超硬核的 OCR 开发利器推荐:从场景案例到实操演示,快速掌握OCR模型训练
  7. 《云阅》一个仿网易云音乐UI,使用Gank.Io及豆瓣Api开发的开源项目
  8. Hanoi Tower问题分析
  9. matlab中文免费版下载以及安装教程(超详细)
  10. html表格中加入斜线,html中给表格添加斜线
  11. Up in the Air-16
  12. Vue中禁止鼠标滑轮事件
  13. 论文人强烈推荐必备的几个中英文文献网站
  14. 如何上传工资表在微信查询---智慧查询
  15. matlab绘图之自定义色标colorbar的刻度值
  16. access violation at address 解决之法【转】
  17. PowerDesigner工具箱(palette)关了如何重新打开
  18. 狂刷这套Java并发编程面试题及答案(GitHub标星21.7K),五月收获美团/京东/字节Offer
  19. 存货账龄分析报表(中三)
  20. 论语之雍也第六、述而第七

热门文章

  1. uniapp唤起谷歌地图APP
  2. 全国产工业级ARM核心板—全志T3/A40i,专为智能电力而生
  3. coos字节点跟换父节点,retain用法
  4. web安全|渗透测试|网络安全11天
  5. 室外场景注意事项(一)距离场阴影的利弊!
  6. 怎样将无线鼠标连接到Mac电脑?
  7. 程序设计题:小学 100 以内正整数加减运算
  8. VC++ LoadLibrary失败,错误127(找不到指定的程序)
  9. Python对腾讯问卷进行打卡核对
  10. win10远程ubuntu18.04.6 LTS