Dear all!
First time posting on HN. We are excited to show our project here.
When you do consult services, often, the customers need a GUI to evaluate your algorithms. We have developed an in-house solution for this, and now we want to make it public. We call it ScienceDesk Algorithm Delivery… until someone suggests a better name :)
In this platform, python programmers upload their algorithms and trained models, and generate a sharable URL to run the algorithm. The programmer decides if the source code should be shared or not.
As an example, we copied these famous open-source algorithms from GitHub and generated a URL link to run:
Deoldfiy – Colorize old black-white photos: https://app.sciencedesk.net/#/links/21/df34a592b89241a38701cfba112007eb/
Covid Net – X-ray thorax image diagnosis: https://app.sciencedesk.net/#/links/22/bd4d9868d4d3462d942119e5b7fb748f/
Image AI – Find and count objects in images (we uploaded the yolo-tiny.h5, feel free to add the yolo.h5 model for better results): https://app.sciencedesk.net/#/links/20/f1b94abcb7924303958a7cd137e19bcc/
Cartoonifyme - Quick and dirty opencv algorithm to cartoonize profile pictures https://app.sciencedesk.net/#/links/25/c9ad75e9491c42319c6bd73294aaf831/
The customers (or users) will open the URL link and find a simple GUI to run the algorithm: they can upload files, fill input forms, save data structures and download or visualize outputs.
HOW-TO
Video that explains how to put a hello-word code in ScienceDesk: https://youtu.be/LJ_Wwd58utg
TECHNICAL DETAILS:
Under the hood, the ScienceDesk backend sends the code and inputs to our orchestrator, the MicroProcServer. The MicroProcServer runs the algorithms in a Kubernetes cluster. Each container that runs the algorithm is completely isolated to protect the user input/output data. The MicroProcServer also works as a broker, delivering file inputs to the containers and returning file outputs to the backend. After finishing the session, the user data are erased.
All thoughts and feedback are welcome in the comments below, especially if you are a machine learning engineer. You are using a small server, you may need some patience to run something heavy.
Thank you so much, Carlos