0

I have trained my dase model with huge dataset on my dev machine and its working fine. Now don't want to put data and train again on production machine. Since I have model ready I just want to put the generated model and start serving layer on production machine which is running PIO.

I am not sure whether PIO already has something for this. Or how people are generally do it. It is an obvious case where we always want to train model on dev machine and deploy it back to production.

Ananda
  • 1,572
  • 7
  • 27
  • 54

1 Answers1

0

By default the models are serialized and stored to the Event Server DB. Your Algorithm can overwrite that behavior if you need. Check out the docs in: https://github.com/actionml/PredictionIO/blob/master/core/src/main/scala/io/prediction/controller/PersistentModel.scala

So you can probably accomplish what you want. However, I think that in general it is an anti-pattern to generate models on dev machines for prod.

James Ward
  • 29,283
  • 9
  • 49
  • 85
  • I disagree that its an anti-pattern. Because ML model training is the most intensive and recurring work which requires lot of resources. Now, what anyone would really need is a way to train models on high end server and deploy the trained modelon average grade machine. Even the new PMLL models are coming for same purpose. Where you can transition ML models. – Ananda Oct 06 '16 at 05:34
  • I'd do exactly what you said. Train on a beefy production cluster. But do that via the standard `pio train` way instead of doing this on a non-production PIO machine. – James Ward Oct 06 '16 at 13:49