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.
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
Create Pipeline entry as part of setup_project fixture
Use dummy backend URL for the endpoint URL
Some todos after discussion on Sept 19th:
New Django model "ML Backend" this will replace the selectable "Pipeline" model. The ML backend will return the list of available pipelines (which in turn provides a list of the stages and models).
The "Pipelines" list in the Project overview should still show the list of Pipelines available, but some come from different ML backends.
The Pipeline & Algorithm models shouldn't be manually created
Add a dummy ml backend to the main compose stack so the CI tests can run
Backends should be available to specific projects, or all projects
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, returnPipelineResponse
objectsDoes not need to actually fetch or process images, return 1 random bounding box.
Add these endpoints
Write tests for processing data
setup_project
fixtureSome todos after discussion on Sept 19th: