The idea is to somehow provide an engineer/researcher a quick way to test his idea. The time spent on POCs before making it a full-fledged product takes a lot of time. The idea of the project is to give the user an understanding of his implementation in a few easy steps. It is like a quick pre-POC for any Deep Learning based android application
What it does
Provide the dataset you want to train on and get an APK file for Android which you can install and see how it works!
How we built it
The front end to upload data is built in JS, The backend part, we use tensorflow2.0 keras api to build a classification model with training and then we use tflite1.0 to convert the trained model to tflite version, then, we built an android application using the latest tflite1.0-GPU version with your customized dataset inference.
Challenges we ran into
The tflite conversions had a lot of variables to handle, so it was a serious pain to find a stable version and make it work. The GPU version of tflite had some memory issues in loading the model which took a lot of time to debug and sort things out.
Accomplishments that we're proud of
we are very proud of supporting test modules which we have created to validate the converted models ae working as expected or not, we will opensource this piece soon, as polish in a better way
What we learned
The entire Project was a great learning curve, the biggest learning factor for us was the magic inside tflite, The Tflite-gpu was an amazing piece to know how it all worked
What's next for Jugaad
Right now, the project is only for classification models, going forward, we want the support to be available for detection and semantic segmentation also. The next step after providing this support will be to try and use the on-device training to determine things rather than using a manual way of uploading the dataset.