模型评估

    评价函数和loss函数非常相似,但不参与模型的训练优化。

    评价函数的输入为模型的预测值(preds)和标注值(labels),并返回计算后的评价指标。

    不同类型的任务,会选用不同的评价指标。

    回归问题通常会用RMSE(均方根误差),MAE(平均绝对误差),R-Square(R平方)等 AUC(Area Under Cure)指标则常被用在分类任务(classification)上 目标检测任务(Object Detection)则经常会用到mAP(Mean Average Precision)

    下面是使用Precision指标的示例:

    自定义指标

    Fluid支持自定义指标,可灵活支持各类计算任务。下面是一个自定义的简单计数器评价函数示例:

    1. class MyMetric(MetricBase):
    2. def __init__(self, name=None):
    3. super(MyMetric, self).__init__(name)
    4.  
    5. def reset(self):
    6. self.counter = 0
    7.  
    8. def update(self, preds, labels):
    9. raise ValueError("The 'preds' must be a numpy ndarray.")
    10. if not _is_numpy_(labels):
    11. raise ValueError("The 'labels' must be a numpy ndarray.")
    12. self.counter += sum(preds == labels)
    13.  
    14. return self.counter