1

I am trying to deploy a pretrained model on a android application . Now, the need is to retrain the model with the data captured locally. Specifically what is happening is, There is a pretrained dnn model which predicts the quality of a video seeing the bandwidth. The neural network was trained on some data which had the bandwidth and the corresponding video quality. Now that model has to be deployed on device for retraining on the new data. This new data is already captured via a mobile application and is stored in required format(csv) . First i thought of using tflite but it does not support on device retraining. Now i am trying to use DL4J but could not understand how to do it. If it possible to use DL4J in this case then how can i do it. If not, then is there a another approach.

ps. I have tried my best to write the problem statement clearly. Pardon me, if u find it difficult to understand. Please comment what u have not understood, i will clear it.

  • Welcome to Stack Overflow! Did I understand correctly that you want to retrain an existing model to correct the weights for a real data that is coming from a different distribution? Or is your question about changing the model to run on mobile devices? The way the question is phrased now suggests that you want to run the training of the model _on_ the device – in that case it's not obvious why would you need that. – Nikolay Shebanov Jan 29 '21 at 14:11
  • This might be useful for you: https://github.com/mccorby/FederatedAndroidTrainer – Adam Gibson Jan 31 '21 at 04:43
  • @NikolayShebanov thanks for answering.yeah, The model is already trained on some data and now the requirement is to retrain with some new incoming data. It can be understood as on-device model personalization. The data it was trained on was of simulated environment and now the device will be capturing data in real time. Using that real time data, model has to retrained. – Appu Bhardwaj Jan 31 '21 at 18:47
  • Thanks for the clarification! In that case, could you edit your question to describe your current model and the data it is trained on? Porting a model to a mobile device hugely depends on prerequisites. As I currently understand your question, @AdamGibson's suggestion of a federated trainer won't do the trick. – Nikolay Shebanov Feb 01 '21 at 10:47
  • Yeah if he wants something that's purely local, then it will really depend on the hardware requirements. Models *can* be retrained, that's not really the issue. It's more of *how*. Like when can you do it? How often? What subset of phones will actually be able to handle on device training? – Adam Gibson Feb 01 '21 at 11:56

0 Answers0