DetectionEngine.report
DetectionEngine.report(model_name=None, split='validation')Everything a detection table is read off, from one pass over the split.
Public because evaluate and evaluate_classes are both views over it, and a caller that wants both - which the example does - would otherwise run the model over the split twice. No caching: a cache would be stale the moment the model trained another epoch, and the honest alternative is to hand back the thing and let the caller hold it.
Parameters
| Name | Type | Description | Default |
|---|---|---|---|
| model_name | str | None | Which detector. Defaults to the first. | None |
Returns
| Name | Type | Description |
|---|---|---|
| DetectionReport | A DetectionReport: the anchors, their coverage, the target survey - how many |
|
| DetectionReport | boxes were placed, how many could not be, how many were dropped - and the split | |
| DetectionReport | sizes. What to read before trusting a score, because a box that cannot be | |
| DetectionReport | placed is a box the model is never asked to find. |
BCCD carries one annotation of zero extent in each split, which comes out one pixel across under Pascal VOC’s inclusive convention, so dropped is 1 and has been all along.