Mob*_*Mob 2 instance loss image-segmentation keras faster-rcnn
我使用Mask-R-CNN来训练我的数据。当我使用TensorBoard查看结果时,我损失了 mrcnn_bbox_loss,mrcnn_class_loss,mrcnn_mask_loss,rpn_bbox_loss,rpn_class_loss以及所有相同的6个损失用于验证:val_loss, val_mrcnn_bbox_loss等。
我想确切地知道每项损失。
我也想知道前6次损失是火车损失还是什么?如果不是火车失窃,我怎么看火车失窃?
我的猜测是:
损失:这是所有5个摘要(但我不知道TensorBoard如何总结它)。
mrcnn_bbox_loss:边框的大小是否正确?
mrcnn_class_loss:该类正确吗?像素正确分配给类别了吗?
mrcnn_mask_loss:实例的形状是否正确?像素正确分配给实例了吗?
rpn_bbox_loss:bbox的大小正确吗?
rpn_class_loss:bbox的类别正确吗?
但是我很确定这是不对的...
如果我只有1个班级,是否会失去一些无关紧要的东西?例如仅背景和另外1个课程?
我的数据只有背景和另外1个类别,这是我在TensorBoard上获得的结果:
我的预测是可以的,但是我不知道为什么最终由于验证而造成的一些损失会不断上升……我认为必须首先下降,然后过度拟合。我使用的预测是TensorBoard上出现次数最多的绿线。我不确定我的网络是否过拟合,因此我想知道为什么验证中的某些损失看起来像它们的样子...
根据代码注释和Python软件包索引中的文档,这些损失定义为:
这些损耗度量中的每一个都是针对每个感兴趣区域分别计算的所有损耗值的总和。日志中给出的常规损耗度量是由Mask R-CNN的作者定义的其他五种损耗的总和(您可以通过将它们加总来进行检查)。
关于如何根据原始论文计算这些损失,可以将它们描述如下(请注意,为了更直观的解释,定义非常粗糙):
就像您已经说过的那样,这些损失量度确实是训练损失,而带有val_前缀的损失量是验证损失。验证损失的波动可能由于多种原因而发生,仅凭图表很难一见钟情。它们可能是由于学习率太高(试图找到最小值而导致随机梯度下降过冲),或验证集太小(由于输出中的微小变化会产生不可靠的损失值而导致的损失值不可靠)引起的重大损失值变化)。
| 归档时间: |
|
| 查看次数: |
1434 次 |
| 最近记录: |