yolo3_pytorch 训练voc数据集和训练自己的数据集并进行预测(github代码调试)

2023-05-16

训练voc数据集的步骤:

  • ①:首先下载voc数据集,将数据集放在从github中下载的项目中VOCdevkit目录中(直接将数据集拉入到项目中,替代目标文件即可)

源码下载:

https://github.com/bubbliiiing/yolo3-pytorch

(22条消息) 睿智的目标检测26——Pytorch搭建yolo3目标检测平台_Bubbliiiing的学习小课堂-CSDN博客_睿智的目标检测26

下载的目录如下,其中Annotations为标签文件,JPEGImages存放的为图片文件,ImageSets目录下存放的为.txt文件,用于训练和验证。

  • ②:将voc_annotation.py中的annotation_mode = 2设置为2,直接在根目录下生成2007_train.txt和22007_val.txt文件用于训练和验证,完成两个文件的生成之后打开train.py文件
  • ③:其中train.py文件中的参数都是为了训练voc数据集进行设置的。

classes_path = 'model_data/voc_classes.txt'#将classes_path设置为'model_data/voc_classes.txt'  

设置完成之后,可以直接运行train.py对voc数据集进行训练

 训练自己数据集的步骤:

  1. 首先需要利用labelme完成数据集的制作,其中制作的数据集需要包含两个部分一个是其中Annotations为标签文件,JPEGImages存放的为图片文件.
  2. 然后运行根目录下的voc_annotation.py文件,用于生成训练需要的txt文件,第一部分的txt是JPEGImages中的txt用于,用于划分测试集,验证集和训练集,第二部分是根目录下的2007_train.txt和2007_val.txt,用于模型的训练
  3. 第一次训练,要修改train.py中的一个参数,即classes_path = 'model_data/类别.txt',其中类别.txt中是我们自己制作的区分类别,例如区分猫和狗,里面的内容为dog cat,每个各占一行。第一次训练只需要修改classes_path中的参数
  4. train.py文件与voc_annotation.py文件的classes_path的参数需要保持一致。

 利用训练好的模型进行预测的步骤:

需要修改根目录下的yolo.py和predict.py文件中的参数。


#--------------------------------------------------------------------------#
#   使用自己训练好的模型进行预测一定要修改model_path和classes_path!
#   model_path指向logs文件夹下的权值文件,classes_path指向model_data下的txt
#
#   训练好后logs文件夹下存在多个权值文件,选择验证集损失较低的即可。
#   验证集损失较低不代表mAP较高,仅代表该权值在验证集上泛化性能较好。
#   如果出现shape不匹配,同时要注意训练时的model_path和classes_path参数的修改
#--------------------------------------------------------------------------#
"model_path"        : 'logs/yolo_weights.pth',
"classes_path"      : 'model_data/类别.txt',  

input_shape必须是32的倍数,yolo.py中的classes_path与train.py中的需要保持一致

修改之后,运行predict.py文件,进行预测。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

yolo3_pytorch 训练voc数据集和训练自己的数据集并进行预测(github代码调试) 的相关文章

随机推荐

  • 对科里奥利力的理解

    首先创造一个情景 xff0c 方便理解 假设你站在一个这样的封闭靶场 xff08 全封闭 xff09 上 xff0c 这个靶场在以大小为 的角速度做匀速圆周运动 xff08 速度不大不小 xff0c 你感觉不到 xff0c 而且靶场没风 x
  • typora使用技巧

    1 Typora vue theme的介绍与下载 typora vue theme是参考了Vue文档风格而开发的一个 Typora 自定义主题 点击此处下载 2 如何安装 a 下载本主题中的vue css vue dark css文档和包含
  • 序列化什么意思

    序列化就是一种用来处理对象流的机制 xff0c 将对象转化成字节序列后可以保存在磁盘上 xff0c 或通过网络传输 xff0c 以达到以后恢复成原来的对象
  • mybatis plus 事务回滚总结

    https www cnblogs com c2g5201314 p 13163097 html
  • throw 和 try catch 的区别

    try catch是直接处理 xff0c 处理完成之后程序继续往下执行 xff0c throw则是将异常抛给它的上一级处理 xff0c 程序便不往下执行了
  • throw的异常日志会打印吗

    throw 就是要把异常继续抛出 xff0c 要么由上层方法解决 xff0c 要么会终止程序运行
  • java assert什么意思

    assert 意为断言的意思 xff0c 这个关键字可以判断布尔值的结果是否和预期的一样 xff0c 如果一样就正常执行 xff0c 否则会抛出AssertionError assert 的使用 xff1a span class token
  • throw和throws的区别

    throws xff1a 用来声明一个方法可能产生的所有异常 xff0c 不做任何处理而是将异常往上传 xff0c 谁调用我我就抛给谁 用在方法声明后面 xff0c 跟的是异常类名 可以跟多个异常类名 xff0c 用逗号隔开 表示抛出异常
  • 1024有感

    2022 10 24 1024节日快乐 xff01 好好学习 xff0c 天天向上 x1f600
  • 互联网项目一般几轮测试

    第一轮测试 xff1a 要覆盖所有测试用例 所有功能都要跑一遍 第二轮测试 xff1a 重点功能的测试 还要把第一轮测试发现的问题 xff0c 根据开发修改完成的结果 xff0c 进行验证 最后一轮是回归测试 xff1a 验证所有bug是否
  • IDEA pom文件 ctrl alt l无法格式化

    File gt Manage IDE settings gt Restore Default settings 恢复IDEA默认设置后 xff0c 即可格式化pom文件
  • 科里奥利力简单清晰的推导

    看到一个比较好的科里奥利力推导方法 xff1a 如果你不太理解科里奥利力 xff0c 可以看一下我的这篇文章 xff1a 对科里奥利力的理解 本文参考 xff1a 1 黄永义 科里奥利力简单而清晰的导出 J 广西物理 2015 36 04
  • java实体类命名

    Entity xff1a 与数据库表结构一一对应 xff0c 通过Dao层向上传输数据源对象 Dto xff08 Data Transfer Object xff09 xff1a 数据传输对象 xff0c Service或Manager向外
  • 字节的高低位互换

    蝶式交换法 unsigned char Reverse byte unsigned char data data 61 data lt lt 4 data gt gt 4 data 61 data lt lt 2 amp 0xcc data
  • 没有Build文件夹的情况下(最新的vue-cli3没有)怎么关闭掉ESlink

    这里写目录标题 一般的注释掉Build中的方法最新的vue cli3没有build文件夹怎么办 一般的注释掉Build中的方法 在build文件夹 gt webpack base conf js中注释以下代码 和在IntelliJ IDEA
  • 使用zed摄像头跑ORB_SLAM2

    zed ros wrapper安装 首先对zed ros wrapper安装 xff1a 具体操作步骤及代码的参考链接 xff1a https github com stereolabs zed ros wrapper git mkdir
  • 【linux网络编程学习笔记】第二节:创建TCP通信(双向)(socket、bind、listen、accept、connect、recv、send、shutdown、server\client)

    Work won 39 t kill but worry will 劳动无害 xff0c 忧愁伤身 上一篇章中创建了TCP的客户端的服务器 xff0c 但是只能单向发送 xff0c 本章节主要讲解如何进行双向互发消息 xff0c 实现的过程
  • 航模电池及稳压降压模块—毕设简记

    航模电池及稳压降压模块简介 简述 准备给设计的控制系统选一块航模电池 xff0c 需要关注什么参数 xff1f 控制系统的传感器需要5V供电 直流减速电机需要12V供电 单片机需要7 12V供电 xff0c 这么多供电该怎么处理 xff1f
  • Laplance算子(二阶导数)

    理论 xff1a 在二阶导数的时候 xff0c 最大变化处的值为0 即边缘是零 xff0c 通过二阶导数计算 xff0c 依据此理论我们可以计算图像的二阶导数 xff0c 提取边缘 Laplance算子 二阶导数我不会 xff0c 别担心
  • yolo3_pytorch 训练voc数据集和训练自己的数据集并进行预测(github代码调试)

    训练voc数据集的步骤 xff1a xff1a 首先下载voc数据集 xff0c 将数据集放在从github中下载的项目中VOCdevkit目录中 xff08 直接将数据集拉入到项目中 xff0c 替代目标文件即可 xff09 源码下载 x