Detectron2 进行评估 | 九
本文是全系列中第11 / 15篇:Detectron2
- Detectron2 使用自定义数据集 | 四
- Detectron2 基准测试 | 十二
- Detectron2 使用自定义数据加载器 | 五
- Detectron2 与其他库的兼容性 | 十三
- Detectron2 使用模型 | 六
- Detectron2 API 之 checkpoint | 十四
- Detectron2 编写模型 | 七
- Detectron2 API 之 config | 十五
- Detectron2 开始训练 | 八
- Detectron2 安装 | 一
- Detectron2 进行评估 | 九
- Detectron2 入门 | 二
- Detectron2 配置 | 十
- Detectron2 扩展默认值 | 三
- Detectron2 部署 | 十一
作者|facebookresearch
编译|Flin
来源|Github
评估
评估是一个过程,需要多个输入/输出对并进行汇总。你始终可以直接使用模型,而只是手动解析其输入/输出以执行评估。或者,可以使用DatasetEvaluator 接口在detectron2中实现评估。
接口。
– 直接使用模型:https://detectron2.readthedocs.io/tutorials/models.html
– DatasetEvaluator:https://detectron2.readthedocs.io/modules/evaluation.html#detectron2.evaluation.DatasetEvaluator)
Detectron2包括一些DatasetEvaluator
使用标准数据集特定的API(例如COCO,LVIS)来计算指标的工具。你还可以实现自己的DatasetEvaluator
,它使用输入/输出对来实现自己的其他一些工作。例如,要计算在验证集上检测到多少个实例:
class Counter(DatasetEvaluator):
def reset(self):
self.count = 0
def process(self, inputs, outputs):
for output in outputs:
self.count += len(output["instances"])
def evaluate(self):
# 把self.count存起来,或者打印出来,或者返回。
return {"count": self.count}
一旦有了DatasetEvaluator
,就可以使用inference_on_dataset运行它。例如,
– inference_on_dataset:https://detectron2.readthedocs.io/modules/evaluation.html#detectron2.evaluation.inference_on_dataset
val_results = inference_on_dataset(
model,
val_data_loader,
DatasetEvaluators([COCOEvaluator(...), Counter()]))
与使用模型手动运行评估相比,此功能的优势在于你可以使用DatasetEvaluators合并评估器。这样,你可以运行所有评估,而不必多次浏览数据集。
- DatasetEvaluators:https://detectron2.readthedocs.io/modules/evaluation.html#detectron2.evaluation.DatasetEvaluators
inference_on_dataset
功能还为给定的模型和数据集提供准确的速度基准。
原文链接:https://detectron2.readthedocs.io/tutorials/evaluation.html
原创文章,作者:磐石,如若转载,请注明出处:https://panchuang.net/2020/05/31/detectron2-%e8%bf%9b%e8%a1%8c%e8%af%84%e4%bc%b0-%e4%b9%9d/