Detectron2 進行評估 | 九

作者|facebookresearch 編譯|Flin 來源|Github

評估

評估是一個過程,需要多個輸入/輸出對並進行彙總。你始終可以直接使用模型,而只是手動解析其輸入/輸出以執行評估。或者,可以使用DatasetEvaluator 接口在detectron2中實現評估。 接口。

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運行它。例如,

val_results = inference_on_dataset(
    model,
    val_data_loader,
    DatasetEvaluators([COCOEvaluator(...), Counter()]))

與使用模型手動運行評估相比,此功能的優勢在於你可以使用DatasetEvaluators合併評估器。這樣,你可以運行所有評估,而不必多次瀏覽數據集。

inference_on_dataset功能還爲給定的模型和數據集提供準確的速度基準。

原文鏈接:https://detectron2.readthedocs.io/tutorials/evaluation.html

歡迎關注磐創AI博客站: http://panchuang.net/

sklearn機器學習中文官方文檔: http://sklearn123.com/

歡迎關注磐創博客資源彙總站: http://docs.panchuang.net/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章