这篇博客介绍训练过程中的评价函数,在MXNet框架下都可以通过继承mx.metric.EvalMetric类进行实现。
该项目的train文件夹下的metric.py定义了一个类:MultiBoxMetric,该类可以作为训练时候分类和回归损失的计算。
import mxnet as mx
import numpy as np
class MultiBoxMetric(mx.metric.EvalMetric):
"""Calculate metrics for Multibox training """
# __init__中指定了两个损失的名称,和其他两个参数,
# 最后调用了该类的reset方法重置了一些计数变量。
def __init__(self, eps=1e-8):
super(MultiBoxMetric, self).__init__('MultiBox')
self.eps = eps
self.num = 2
self.name = ['CrossEntropy', 'SmoothL1']
self.reset()