做者|facebookresearch 編譯|Flin 來源|Githubhtml
評估
評估是一個過程,須要多個輸入/輸出對並進行彙總。你始終能夠直接使用模型,而只是手動解析其輸入/輸出以執行評估。或者,能夠使用DatasetEvaluator 接口在detectron2中實現評估。 接口。python
- 直接使用模型: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
功能還爲給定的模型和數據集提供準確的速度基準。lua
原文連接:https://detectron2.readthedocs.io/tutorials/evaluation.html.net
歡迎關注磐創AI博客站: http://panchuang.net/code
sklearn機器學習中文官方文檔: http://sklearn123.com/htm
歡迎關注磐創博客資源彙總站: http://docs.panchuang.net/接口