yolo2修改配置文件训练自己的数据集

2024-08-26 03:32

本文主要是介绍yolo2修改配置文件训练自己的数据集,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

说明

本文主要介绍用yolo2训练自己的数据集时要修改的配置文件。(自己也在摸索中,以后会慢慢修改)

环境

- ubuntu 16.04
- cuda 8.0
- opencv 3.2
- darknet(17年7月)
ps:安装darknet的时候,并没有带着opencv编译,编译出来opencv有6个多g,编译需要快1小时。带opencv编译,训练的时候可能会出莫名的错误,不知道修复没有。没带opencv编译的话,只是不会自动展示图片,并没有很大的影响。

需要修改的配置及其作用

cfg/voc.data


classes= 1    //修改为自己要训练的类别
train  = /home/darknet/scripts/train.txt   //train.txt中存放要训练的图像名
valid  = /home/darknet/scripts/2007_test.txt        //训练的时候用不着,这应该是用来测试的
names = /home/darknet/data/voc.names   //voc.names存储的是各类的名字,默认有20类,可以修改为自己的类名
backup = /home/darknet/backup   //训练完成后模型存储的地点

cfg/yolo-voc.2.0.cfg

  • yolo-voc.2.0.cfg是我使用的网络,也可以使用别的例如tiny-yolo-voc.cfg等。
  • 开头的batch表示一次读取的图片数?默认为64,占用的显存比较多,我的1050不够用,可以修改为8或者16。
  • 大约15行有max_batches,表示最大的训练次数,可以根据需要修改。一般来说每100次就会在backup文件夹中存储一个.weights文件。
  • 在最后的[region]层中,classes修改为自己要训练的类别数,我修改为1。
  • 在[region]上一层的[convolutional]中修改filters,计算方法为(classes+ coords+ 1)* (num) ,该num即为[region]层中的num数。我的情况:(1+4+1)* 5=30,即我的filters 的值改成了30。
  • 修改filters的建议来源自(https://groups.google.com/forum/#!topic/darknet/B4rSpOo84yg),我修改了之后一切正常。

examples/yolo.c

  • 开头的train_yolo函数中,修改
    train_images=”/home/darknet/scripts/train.txt” ——即你自己存放的train.txt所在目录
    backup_directory = “/home/darknet/backup”——训练完成存放模型的目录

examples/detector.c

  • 开头的train_yolo函数中,修改
    train_images=”/home/darknet/scripts/train.txt” ——即你自己存放的train.txt所在目录
  • 最后的classes修改为自己的值。

利用yolo2训练自己数据集的配置就完成了,下一篇中讲解如何用自己的数据生成yolo2所需的训练格式。


参考:
http://blog.csdn.net/hysteric314/article/details/5409784

这篇关于yolo2修改配置文件训练自己的数据集的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1107427

相关文章

Redis的数据过期策略和数据淘汰策略

《Redis的数据过期策略和数据淘汰策略》本文主要介绍了Redis的数据过期策略和数据淘汰策略,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录一、数据过期策略1、惰性删除2、定期删除二、数据淘汰策略1、数据淘汰策略概念2、8种数据淘汰策略

轻松上手MYSQL之JSON函数实现高效数据查询与操作

《轻松上手MYSQL之JSON函数实现高效数据查询与操作》:本文主要介绍轻松上手MYSQL之JSON函数实现高效数据查询与操作的相关资料,MySQL提供了多个JSON函数,用于处理和查询JSON数... 目录一、jsON_EXTRACT 提取指定数据二、JSON_UNQUOTE 取消双引号三、JSON_KE

修改若依框架Token的过期时间问题

《修改若依框架Token的过期时间问题》本文介绍了如何修改若依框架中Token的过期时间,通过修改`application.yml`文件中的配置来实现,默认单位为分钟,希望此经验对大家有所帮助,也欢迎... 目录修改若依框架Token的过期时间修改Token的过期时间关闭Token的过期时js间总结修改若依

MySQL修改密码的四种实现方式

《MySQL修改密码的四种实现方式》文章主要介绍了如何使用命令行工具修改MySQL密码,包括使用`setpassword`命令和`mysqladmin`命令,此外,还详细描述了忘记密码时的处理方法,包... 目录mysql修改密码四种方式一、set password命令二、使用mysqladmin三、修改u

Python给Excel写入数据的四种方法小结

《Python给Excel写入数据的四种方法小结》本文主要介绍了Python给Excel写入数据的四种方法小结,包含openpyxl库、xlsxwriter库、pandas库和win32com库,具有... 目录1. 使用 openpyxl 库2. 使用 xlsxwriter 库3. 使用 pandas 库

SpringBoot定制JSON响应数据的实现

《SpringBoot定制JSON响应数据的实现》本文主要介绍了SpringBoot定制JSON响应数据的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们... 目录前言一、如何使用@jsonView这个注解?二、应用场景三、实战案例注解方式编程方式总结 前言

使用Python在Excel中创建和取消数据分组

《使用Python在Excel中创建和取消数据分组》Excel中的分组是一种通过添加层级结构将相邻行或列组织在一起的功能,当分组完成后,用户可以通过折叠或展开数据组来简化数据视图,这篇博客将介绍如何使... 目录引言使用工具python在Excel中创建行和列分组Python在Excel中创建嵌套分组Pyt

使用Python在Excel中插入、修改、提取和删除超链接

《使用Python在Excel中插入、修改、提取和删除超链接》超链接是Excel中的常用功能,通过点击超链接可以快速跳转到外部网站、本地文件或工作表中的特定单元格,有效提升数据访问的效率和用户体验,这... 目录引言使用工具python在Excel中插入超链接Python修改Excel中的超链接Python

在Rust中要用Struct和Enum组织数据的原因解析

《在Rust中要用Struct和Enum组织数据的原因解析》在Rust中,Struct和Enum是组织数据的核心工具,Struct用于将相关字段封装为单一实体,便于管理和扩展,Enum用于明确定义所有... 目录为什么在Rust中要用Struct和Enum组织数据?一、使用struct组织数据:将相关字段绑

在Mysql环境下对数据进行增删改查的操作方法

《在Mysql环境下对数据进行增删改查的操作方法》本文介绍了在MySQL环境下对数据进行增删改查的基本操作,包括插入数据、修改数据、删除数据、数据查询(基本查询、连接查询、聚合函数查询、子查询)等,并... 目录一、插入数据:二、修改数据:三、删除数据:1、delete from 表名;2、truncate