JdeRobot / JdeRobot/PerceptionMetrics

CLI pm_evaluate detection crashes with AttributeError when --out_fname is used

Open
#563 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
112
Forks
109
PR merge metrics
No merged PRs in 30d

Description

**File:** `perceptionmetrics/cli/evaluate.py`
**Line:** 197

## Description
`TorchImageDetectionModel.eval()` returns a `dict` with keys `metrics_df`
and `metrics_factory`. The CLI calls `.to_csv()` directly on this dict,
which raises `AttributeError` every time detection evaluation is run with
`--out_fname`.

## Bug
```python
results = model.eval(...)
results.to_csv(out_fname) # results is a dict for detection models
```

## Fix
```python
if isinstance(results, dict):
results = results["metrics_df"]
results.to_csv(out_fname)
```

## Steps to Reproduce
1. Set up a COCO dataset and a torchscript detection model
2. Run evaluation with `--out_fname`:
pm_evaluate detection image --model_format torch --model model.pt \
--dataset_format coco --dataset_dir /path/to/coco --out_fname results.csv
3. Evaluation completes but crashes before saving with:
AttributeError: 'dict' object has no attribute 'to_csv'

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.