Documentation

User guide and pointers to the technical docs in the repository.

Using this site

  1. Go to Identify and upload a bird photo (JPEG or PNG).
  2. The API returns the top species name, confidence, and top-five alternatives.
  3. Use confidence as a hint, not a guarantee — fine-grained species are easy to confuse.

The inference API is under construction. Until it is deployed, uploads will show a connection error.

Technical documentation

The ML pipeline, data splits, training stages, evaluation, and config reference live in the repo under docs/:

  • Overview — architecture and workflow
  • Data & splits — CUB dataset, train/val/test, augmentations
  • Training pipeline — staged fine-tuning, MLflow
  • Models — architectures, checkpoints, freeze policy
  • Evaluation & analysisevaluate.py, confusion matrix reports
  • Config reference — YAML fields per stage

Clone the repository and open docs/README.md for the full index.

Training (local)

cd training
python train.py --config ../configs/resnet50_stage1_head.yaml
# … stages 2–5 …
python evaluate.py --config ../configs/resnet50_stage5_bbox.yaml \\
  --checkpoint ../models/birdbrain_resnet50_v1-4.pt --split test

Frontend development

cd web
npm install
npm run dev

Dev server proxies /api to http://localhost:8000 when the FastAPI service is running.