模型评估
评价函数和loss函数非常相似,但不参与模型的训练优化。
评价函数的输入为模型的预测值(preds)和标注值(labels),并返回计算后的评价指标。
不同类型的任务,会选用不同的评价指标。
回归问题通常会用RMSE(均方根误差),MAE(平均绝对误差),R-Square(R平方)等 AUC(Area Under Cure)指标则常被用在分类任务(classification)上 目标检测任务(Object Detection)则经常会用到mAP(Mean Average Precision)
下面是使用Precision指标的示例:
自定义指标
Fluid支持自定义指标,可灵活支持各类计算任务。下面是一个自定义的简单计数器评价函数示例:
- class MyMetric(MetricBase):
- def __init__(self, name=None):
- super(MyMetric, self).__init__(name)
- def reset(self):
- self.counter = 0
- def update(self, preds, labels):
- raise ValueError("The 'preds' must be a numpy ndarray.")
- if not _is_numpy_(labels):
- raise ValueError("The 'labels' must be a numpy ndarray.")
- self.counter += sum(preds == labels)
- return self.counter