Caffe-SSD训练日志

2019年11月11
用VGG16作为预训练模型,迭代12w次,batchsize用16x32,用dssd的环境,但是增加了mobile_lib.py中的CreateMultiBoxHead_ssd()函数,所用时间为32.6小时
目的:
1.为了验证dssd的环境是否能运行ssd_pascal.py
2.为了验证16x32是否对结果有比较大的影响
结果:
mAp值为77.3,说明16x32和32x32在caffe中的大小对结果没有影响,另外只需要改动moble_lib.py中的一个函数就可以实现在dssd的环境中运行ssd的程序,保存一份代码在caffe.ssd.16x32_77.3中。


2019年11月13
1.AddDalitedLayers函数中,对3_1做dilation为2的空洞卷积BN,RELU,然后又做了一个1x1的卷积,BN 与4_3做1x1的卷积BN后进行相乘融合得到 dalited_combined,对融合后的dalited_combined做一个2个1x1的卷积然后预测
2.修改了job_name为SSD_300x300_16X32_dalited_combined_one
3.增加了一层检测,增加的层名字叫dalited_combined,比例设置为[2,3]检测区域为15-60,同时增加了step 8,增加了L2 normalize
4.并将原始SSD的学习率进行了冻结(VGG与增加层的lr_mult改为0)训练2w次,修改学习率为0.005,因为增加了BN,所以适当的增大学习率,学习率衰减因子为0.1,分别在10000,13000,15000,17000的时候进行衰减

目的:
1.查看空洞卷积增加一层后是否可一增强检测效果
2.之后还需要解开相关冻结重新训练查看效果
结果:
训练结果map值为77.6%,提升了0.4(相对于我自己训练的提升0.3,相对官方文档提升0.4)


2019年11月13
1.所有的改动都在文件ssd_pascal_da_ft.py中,保存在了SSD_300X300_16X32_dalited_combined_two中
2.打开了VGG和增加层的学习率,冻结了BN层
3.训练次数为4w(每50次需要58秒),初始学习率为0.0002,在15000, 25000, 30000, 35000分别衰减为0.1倍
目的:
1.先冻结BN,将上一步训练的模型重新加载进去训练,看看效果是否好
2.期待新一轮的提高
结果:
map77.67%,上涨了0.07% 。。。。。。


2019年11月14
1.将4_3层的检测去掉,将上一步3_1空洞卷积与4_3融合之后代替4_3做预测
2.检测大小的框从30-60改为了15-60
3.冻结了SSD的参数对其进行训练了3000次,学习率为0.00025
4.存放位置SSD_300x300_16X32_dalited_replace_conv4_3
结果:
两个loss值都挺小的,平均都已经跌破了2,但是map却之后76.09%,也可能是过拟合,也可能是训练次数不够


2019年11月14
1.仅仅加入了反卷积,增加了一层检测:从最后一层反卷积与4_3融合,融合后做了一个3X3的卷积-BN-Relu
2.增加的检测大小的框为15-60
3.迭代4w次,初始学习率为0.005,学习率分别在20000, 25000, 3000, 35000做10倍的衰减
4.存放位置:SSD_300x300_16X32_only_deconv
结果:
map值为77.4%,相对于原始SSD模型增加了0.2%
2019年11月15
1.只改变了上一步的增加的检测层,去掉relu之后看看结果
2.但是batch size也改为了2X32的,不过BN层已经锁定不更新了
3.加载的初始参数模型是77.4%的SSD_300x300_16X32_only_deconv模型
结果:
map:77.0888%,说明检测之前是需要加上relu的!!!!!!!
2019年11月15
1.改变了反卷积的初始层,改为了从7_2开始反卷积,但是加载的初始模型是结果为77.4的SSD_300x300_16X32_only_deconv模型
2.batch size也改为了2X32的,不过BN层已经锁定不更新了
结果:
mAp77.6016%
2019年11月15
1.改变了反卷积的初始层,改为了从fc7开始反卷积,但是加载的初始模型是结果为77.4的SSD_300x300_16X32_only_deconv模型
2.batch size也改为了2X32的,不过BN层已经锁定不更新了
结果:
mAp为77.6082%
2019年11月17
因为发现fc7反卷积的效果和7_2反卷积的效果是一样的,所以就直接用fc7进行反卷积,可以减少参数,加入了反卷积fc7冻结的模型作为初始模型,将学习率全部打开,冻结BN,开始训练
结果:
mAp最好的时候是77.69%,平均在77.68%左右。
2019年11月17
将对3_1做空洞卷积与4_3融合后的模型后面的2个1X1的卷积换为了1个3x3的卷积,看看效果
结果:
效果没有变好,mAp77.1%在2.5w次训练的时候,我怀疑是因为初始化和训练次数太少的原因
2019年11月17
将空洞卷积和反卷积融合都检测15-60像素的,在SSD中增加的层和检测层加入了BN,初始化用的VGG16,训练初始学习率为0.005
结果:
mAp:78.02%
2019年11月20
将fc7做反卷积与3_3层进行融合,融合之前都做了bn和relu,但是这次融合用的是concat的方式,融合完之后再做bn和relu,然后预测,预训练模型用的ssd,冻结ssd参数,初始学习率为0.1,但是很快就让学习率下降,训练5w次
结果:
未训练完
2019年11月27
1.最终的训练版本,用9_2与8_2融合,用融合之后的反卷积与7_2融合,将7_2做反卷积和6_2融合,融合后再反卷积与fc7融合,将fc7反卷积与4_3融合,融合后与3_1空洞卷积融合,然后预测
2.先用0.002的学习率训练了1w次,loss值在3.8左右,然后开始用0.001的学习率进行训练

你可能感兴趣的:(目标检测)