博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
yolov3模型微调相关
阅读量:3757 次
发布时间:2019-05-22

本文共 870 字,大约阅读时间需要 2 分钟。

版权声明:本文为博主原创文章,未经博主允许不得转载。					https://blog.csdn.net/watermelon1123/article/details/83001806											            

        这里记录一下关于yolov3做模型微调的相关命令.

首次训练都会加载预训练模型darknet53.conv.74,假如首次训练出了模型1,要在模型1的基础上finetuning模型2,当然前提是模型2与模型1之间网络结构没有发生变化,类别也没有增加.(类别增加的话我暂时还不太清楚)这个时候有两种解决方法:

1. 使用-clear命令

通过模型1训练出的backup或者final.weights文件代替预训练模型darknet53.conv.74,并在训练命令的末尾加上-clear命令,这样模型的训练会从初始状态开始,比如:

./darknet cfg/yolo.data cfg/yolo.cfg backup/model_pre.backup -clear

这样重新训练的模型2就是在模型1微调的基础上训练的结果,如下图所示,这样模型的收敛速度较快,迭代次数将从0开始计算.

2. 不使用-clear命令

不用-clear命令,训练则不会从初始状态开始,读取模型1的backup的时候也会读取其中的迭代次数及learning rage.比如模型1的迭代次数微40000次,最终的学习率为0.00001,那么模型2训练的时候也会从40000次开始迭代,并从0.00001的学习率开始,那么此时就需要修改cfg文件的max_batches以及learning rate .

比如我的模型1的cfg是这样的,初始learning rate为0.001:

 

那么模型2如果想迭代30000次,并有初始0.001的学习率你需要修改max_batches和steps:

 

 

比较推荐通过-clear的方式来做微调,会方便一点.

你可能感兴趣的文章
Billboard HDU - 2795(树状数组,单点修改,区间查询)
查看>>
Codeforces Round #617 (Div. 3) String Coloring(E1.E2)
查看>>
LeetCode刷题 --杂篇 --数组,链表,栈,队列
查看>>
840. 模拟哈希表(模板)
查看>>
《算法》笔记 17 - 数据压缩
查看>>
Qt Installer Framework翻译(5-2)
查看>>
Java+Selenium+Testng自动化测试学习(三)— 断言
查看>>
PAT乙级1012
查看>>
银行业务队列简单模拟(队列queue)
查看>>
MySql中的数据查询语言(DQL)三:连接查询
查看>>
MySql中的数据查询语言(DQL)五:union和limit
查看>>
数据操作语言(DML)一:插入数据insert、修改数据update、删除delete
查看>>
.properties 文件,.yml 文件 ,yaml文件语法学习
查看>>
jsp 的常用标签
查看>>
Listener 监听器
查看>>
SpringBoot自动配置原理
查看>>
IDEA连接mysql又报错设置时区!Server returns invalid timezone.
查看>>
员工管理系统二:首页和国际化实现
查看>>
员工管理系统四:员工列表实现
查看>>
员工管理系统五:增删改员工实现
查看>>