YOLO v3训练过程中输出参数含义

YOLO v3训练过程中输出参数含义

yolov3-voc
Learning Rate: 0.001, Momentum: 0.9, Decay: 0.0005
Resizing
384
Loaded: 0.000077 seconds
Region 82 Avg IOU: 0.293486, Class: 0.443128, Obj: 0.680025, No Obj: 0.532993, .5R: 0.142857, .75R: 0.000000,  count: 7
Region 94 Avg IOU: 0.203765, Class: 0.575399, Obj: 0.361495, No Obj: 0.513690, .5R: 0.000000, .75R: 0.000000,  count: 4
Region 106 Avg IOU: 0.148327, Class: 0.769327, Obj: 0.539390, No Obj: 0.469288, .5R: 0.000000, .75R: 0.000000,  count: 1
Region 82 Avg IOU: 0.247457, Class: 0.474442, Obj: 0.616541, No Obj: 0.530633, .5R: 0.076923, .75R: 0.000000,  count: 13
Region 94 Avg IOU: 0.153535, Class: 0.355734, Obj: 0.523899, No Obj: 0.513211, .5R: 0.055556, .75R: 0.000000,  count: 18
Region 106 Avg IOU: 0.372658, Class: 0.576973, Obj: 0.433137, No Obj: 0.470594, .5R: 0.333333, .75R: 0.000000,  count: 9
Region 82 Avg IOU: 0.240549, Class: 0.462945, Obj: 0.455330, No Obj: 0.532115, .5R: 0.142857, .75R: 0.000000,  count: 7
Region 94 Avg IOU: 0.168531, Class: 0.604652, Obj: 0.388779, No Obj: 0.513874, .5R: 0.083333, .75R: 0.000000,  count: 12
Region 106 Avg IOU: 0.122388, Class: 0.537946, Obj: 0.544899, No Obj: 0.469434, .5R: 0.000000, .75R: 0.000000,  count: 5
Region 82 Avg IOU: 0.282098, Class: 0.601974, Obj: 0.527038, No Obj: 0.531522, .5R: 0.111111, .75R: 0.000000,  count: 9
Region 94 Avg IOU: 0.154104, Class: 0.687444, Obj: 0.425678, No Obj: 0.513724, .5R: 0.000000, .75R: 0.000000,  count: 5
Region 106 Avg IOU: 0.104991, Class: 0.408555, Obj: 0.419506, No Obj: 0.467876, .5R: 0.000000, .75R: 0.000000,  count: 2
Region 82 Avg IOU: 0.252634, Class: 0.631565, Obj: 0.555685, No Obj: 0.532196, .5R: 0.222222, .75R: 0.000000,  count: 9
Region 94 Avg IOU: 0.275702, Class: 0.379221, Obj: 0.642196, No Obj: 0.512975, .5R: 0.333333, .75R: 0.000000,  count: 3
Region 106 Avg IOU: 0.284090, Class: 0.164948, Obj: 0.469731, No Obj: 0.470193, .5R: 0.000000, .75R: 0.000000,  count: 2
Region 82 Avg IOU: 0.212444, Class: 0.525595, Obj: 0.488592, No Obj: 0.533057, .5R: 0.090909, .75R: 0.000000,  count: 11
Region 94 Avg IOU: 0.173707, Class: 0.631538, Obj: 0.510918, No Obj: 0.513511, .5R: 0.000000, .75R: 0.000000,  count: 6
Region 106 Avg IOU: -nan, Class: -nan, Obj: -nan, No Obj: 0.470171, .5R: -nan, .75R: -nan,  count: 0
Region 82 Avg IOU: 0.218211, Class: 0.470087, Obj: 0.540733, No Obj: 0.532149, .5R: 0.153846, .75R: 0.000000,  count: 13
Region 94 Avg IOU: 0.073397, Class: 0.349466, Obj: 0.722852, No Obj: 0.512530, .5R: 0.000000, .75R: 0.000000,  count: 2
Region 106 Avg IOU: 0.054768, Class: 0.636377, Obj: 0.316369, No Obj: 0.469241, .5R: 0.000000, .75R: 0.000000,  count: 3
Region 82 Avg IOU: 0.257638, Class: 0.441840, Obj: 0.617525, No Obj: 0.531992, .5R: 0.071429, .75R: 0.000000,  count: 14
Region 94 Avg IOU: 0.070440, Class: 0.604375, Obj: 0.246185, No Obj: 0.513274, .5R: 0.000000, .75R: 0.000000,  count: 6
Region 106 Avg IOU: 0.072315, Class: 0.733155, Obj: 0.818539, No Obj: 0.469309, .5R: 0.000000, .75R: 0.000000,  count: 1
1: 840.799866, 840.799866 avg, 0.000000 rate, 1.843955 seconds, 64 images

Learning Rate: 0.001,

学习率 学习率决定了参数移动到最优值的速度快慢,如果学习率过大,很可能会越过最优值导致函数无法收敛,甚至发散;反之,如果学习率过小,优化的效率可能过低,算法长时间无法收敛,也易使算法陷入局部最优(非凸函数不能保证达到全局最优)。合适的学习率应该是在保证收敛的前提下,能尽快收敛。
设置较好的learning rate,需要不断尝试。在一开始的时候,可以将其设大一点,这样可以使weights快一点发生改变,在迭代一定的epochs之后人工减小学习率。
在yolo训练中,网络训练160epoches,初始学习率为0.001,在60和90epochs时将学习率除以10。

Momentum: 0.9,

滑动平均模型,在训练的过程中不断地对参数求滑动平均,这样能够更有效地保持稳定性,使其对当前参数更新不敏感。例如加动量项的随机梯度下降法就是在学习率上应用滑动平均模型。,一般会选择0.9~0.95.

Decay: 0.0005

权重衰减, 使用的目的是防止过拟合,当网络逐渐过拟合时网络权值往往会变大,因此,为了避免过拟合,在每次迭代过程中以某个小因子降低每个权值,也等效于给误差函数添加一个惩罚项,常用的惩罚项是所有权重的平方乘以一个衰减常量之和。权值衰减惩罚项使得权值收敛到较小的绝对值。

其中,Region 82, Region 94, Region 106表示三个不同尺度(82,94,106)上预测到的不同大小的参数。

82 卷积层为最大的预测尺度, 使用较大的 mask, 但是可以预测出较小的物体;
94 卷积层为中间的预测尺度, 使用中等的 mask;
106卷积层为最小的预测尺度, 使用较小的 mask, 可以预测出较大的物体.

注意,上图中,

表示所有训练图片中的一个批次(batch),批次大小的划分根据在cfg/yolov3-voc.cfg中设定的, 批次大小的划分根据我们在 .cfg 文件中设置的subdivisions参数。在我使用的 .cfg 文件中 batch = 64 ,subdivision = 8,所以在训练输出中,训练迭代包含了8组(8组Region 82, Region 94, Region 106),每组又包含了8张图片,跟设定的batch和subdivision的值一致。
注: 也就是说每轮迭代会从所有训练集里随机抽取 batch = 64 个样本参与训练,所有这些 batch 个样本又被均分为 subdivision = 8 次送入网络参与训练,以减轻内存占用的压力)

上述输出信息的各个参数含义是(主要观察某一个尺度上的参数), 下面就第一行 Region 82 分析:

Region Avg IOU:0.293486: 表示在当前 subdivision 内的图片的平均 IOU, 代表预测的矩形框和真实目标的交集与并集之比, 这里是 29.36%,由于刚开始训练,所以此模型的精度远远不够。
Class: 0.443128: 标注物体分类的正确率, 期望该值趋近于1;
Obj: 0.680025: 越接近 1 越好;
No Obj:0.532993: 期望该值越来越小, 但不为零;
.5R: 0.142857: 是在 recall/count 中定义的, 是当前模型在所有 subdivision 图片中检测出的正样本与实际的正样本的比值。全部的正样本被正确的检测到应该是1。
.75R: 0.000000
count: 7: 所有当前 subdivision 图片(本例中一共 8 张)中包含正样本的图片的数量。 在输出 log 中的其他行中, 可以看到其他 subdivision 也有的只含有 6 或 1 个正样本, 说明在 subdivision 中含有不包含在检测对象 classes 中的图片

批输出

1: 840.799866, 840.799866 avg, 0.000000 rate, 1.843955 seconds, 64 images

输出代码中,
1: 指示当前训练的迭代次数
840.799866: 是总体的Loss(损失)
840.799866 avg: 是平均Loss,这个数值应该越低越好,一般来说,一旦这个数值低于0.060730 avg就可以终止训练了。
0.000000 rate: 代表当前的学习率,是在.cfg文件中定义的。
1.843955 seconds: 表示当前批次训练花费的总时间。
64 images: 这一行最后的这个数值是1*64的大小,表示到目前为止,参与训练的图片的总量。

  • 3
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 11
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值