RolnickLab / antenna

GNU General Public License v3.0
10 stars 3 forks source link

Create dummy ML backend for the dev compose stack #572

Open mihow opened 2 weeks ago

mihow commented 2 weeks ago

Create a ML backend in the main or a parallel docker compose config that can be run locally and in CI/CD tests. This will also serve as a template for ML researchers to use to make a new model available in Antenna. This will allow us to test the app from end-to-end, and cover some of the complex functionality like going from source images to detections with classifications, occurrence tracking, thumbnailing, etc.

See existing ML backend API here https://github.com/RolnickLab/ami-data-companion/blob/feat/web-api/trapdata/api/api.py

Receive PipelineRequest objects, return PipelineResponse objects

Does not need to actually fetch or process images, return 1 random bounding box.

Add these endpoints

- /info (returns info about algorithms and stages)
- /predict (receive PipelineRequest object)
- /healthcheck (is the server online & ready to process data)

Write tests for processing data

Some todos after discussion on Sept 19th:

mihow commented 2 weeks ago

@mihow add diagram and any existing code/branches