乐趣区

Detectron2-进行评估-九

作者 |facebookresearch
编译 |Flin
来源 |Github

评估

评估是一个过程, 需要多个输入 / 输出对并进行汇总。你始终可以直接使用模型, 而只是手动解析其输入 / 输出以执行评估。或者, 可以使用 DatasetEvaluator 接口在 detectron2 中实现评估。
接口。

  • 直接使用模型:https://detectron2.readthedoc…
  • DatasetEvaluator:https://detectron2.readthedoc…

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.readthedoc…
val_results = inference_on_dataset(
    model,
    val_data_loader,
    DatasetEvaluators([COCOEvaluator(...), Counter()]))

与使用模型手动运行评估相比, 此功能的优势在于你可以使用 DatasetEvaluators 合并评估器。这样, 你可以运行所有评估, 而不必多次浏览数据集。

  • DatasetEvaluators:https://detectron2.readthedoc…

inference_on_dataset功能还为给定的模型和数据集提供准确的速度基准。

原文链接:https://detectron2.readthedoc…

欢迎关注磐创 AI 博客站:
http://panchuang.net/

sklearn 机器学习中文官方文档:
http://sklearn123.com/

欢迎关注磐创博客资源汇总站:
http://docs.panchuang.net/

退出移动版