devolearn
devolearn copied to clipboard
devolearn: long term vision
This issue would be a tracker/conversation space for devolearn's core long term goals.
Here are some of the key goals to work on:
- every model should be a subclass of
devolearn.base_inference_engine.InferenceEngine InferenceEnginewould contain some predefined (but overrideable) methods to:- Download model checkpoints from github source
- Preprocess images for inference
- Postprocess predictions for readability/saving
devolearn.IoPipelinewould contain some standardized media tools for reading and writng videos/images (might use decord/imageio for videos and cv2 for images)- a docker based fastAPI endpoint could be created (only after the above objectives are complete). This would help us deploy the models into servers/webapps/GUIs
The picture attached below is the layout of how we want to see it :arrow_down:

If you have any suggestions/ideas, feel free to discuss below :)
cc: @balicea @ujjwalll
This looks pretty good. Is there a process for input data (pre-processing and sampling procedures for a given dataset)? It looks like there are pre- and post-processing steps in the Base Inference engine -- but this is for model training, correct? We need a separate process for data handling.
The multiple species/multiple models relationships look pretty good. I would think that over time, having multiple options here would be advantageous. Perhaps we eventually have a model chooser for users to select the best model for a given dataset (even within a single species, there is a lot of variation across development).
The webapp/GUI can be built on top of a fastAPI/django backend + react.
In case we ever want to host it on heroku, we'd want to convert all of our models to onnx.