Local CV pipeline dashboard
Dataset, training, results, inference — for image classification and object detection, on one machine. No account, no cloud; your data never leaves the box.
How it works
Add a handful of calls to your existing training script. Reticus sits beside your
loop, reads values you already compute, and opens a live dashboard at
127.0.0.1:8765.
Each stage below is a page you can open.
Get started
Core is tiny (numpy + Pillow). Add [all] for the dashboard and Grad-CAM.
Construct once, start_run, log each epoch, then end_run.
The dashboard opens automatically in your browser. Re-open later with reticus <project>.
| Install | Adds | Use when |
|---|---|---|
reticus | numpy, Pillow | Headless logging, no UI |
reticus[dashboard] | fastapi, uvicorn | The local web dashboard |
reticus[torch] | torch, grad-cam | Grad-CAM heatmaps |
reticus[all] | everything | One-shot full install |
# train.py from reticus import Reticus r = Reticus("my_project") # opens the dashboard r.start_run(config={ "task": "classification", "class_names": ["cat", "dog", "bird"], }) for epoch in range(1, 11): r.log({ "epoch": epoch, "train_loss": train_loss, "val_loss": val_loss, "val_acc": val_acc, }, total_epochs=10) # after eval: per-class metrics, confusion matrix, ... r.log_predictions( images=val_images, class_names=CLASSES, task="classification", preds=preds, targets=targets, ) r.end_run()
Object detection works the same way — pass task="od"
with boxes in YOLO, COCO, VOC, or xyxy format.
Why local
The server binds to 127.0.0.1 only. No login, no telemetry, no external services.
Charts, fonts, and reports are all bundled. Works fully offline, air-gapped if you need.
Box overlays, Grad-CAM, dataset health checks, and quality flags — not a generic logger.