You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ignite.apache.org by kencottrell <ke...@gridgain.com> on 2020/01/18 00:49:49 UTC

ML Model persist and reuse

Hello all Apache Ignite ML developers:

I understand currently Ignite can't save a model after training, in such a
way that the model can be re-imported by another Ignite cluster. Correct me
if you can save and reload a model but I don't think you can. 

Anyway, I'd like to know if you have recommendations on how you can do
either one of the following:
1. convert the Ignite model into an interchangeable format? For example
there are some emerging standards (such as https://onnx.ai/  for one)  and
others - have any of you worked with such

2. if not transform the Ignite model into some standard format, how about
saving the model into Native persistence, binary serialized format, creating
some kind of handle that can shared with other clusters, and then use this
to reload the model into a new Ignite session?


This question has been asked of me recently, and this would be a good way to
let Apache Ignite ML/DL models participate in a broader enterprise model
deployment process. 




--
Sent from: http://apache-ignite-developers.2346864.n4.nabble.com/

Re: ML Model persist and reuse

Posted by Alexey Zinoviev <za...@gmail.com>.
I totally agree with you, that model saving is missed element in this
framework.
In this release I've experimented with binary format and with a commonly
used format PMML (in scikit-learn and in Spark 1.0)
https://en.wikipedia.org/wiki/Predictive_Model_Markup_Language

This is a link to the example with PMML model parsing (PMML was generated
in Spark)
https://github.com/apache/ignite/blob/master/examples/src/main/java/org/apache/ignite/examples/ml/inference/spark/LogRegFromSparkThroughPMMLExample.java

Apache Spark now uses its own project MLeap to save not only models but
whole pipeline with preprocessors.

Thank you for https://onnx.ai/ link (I never used this for model
persistence and it grows very fast), maybe we could create
onnx-ignite-model integration.

The main problem with independent format is that integration between Ignite
ML have very limited support of working with meta-information and it
depends on Ignite SQL internals and couldn't be resolved very fast.

But the our own binary format could be implemented more earlier, it's a
real feature for 2.9 and could be implemented by newbies too (after some
reference examples with the models).

Also, we could collect here (in this thread) our experience with the
different inference interchangeable formats to prepare experimental
examples for 2.9 release to taste them.

If you know any formats that are popular on cloud servers or in production,
please post them here, in this thread.


сб, 18 янв. 2020 г. в 03:47, kencottrell <ke...@gridgain.com>:

> Hello all Apache Ignite ML developers:
>
> I understand currently Ignite can't save a model after training, in such a
> way that the model can be re-imported by another Ignite cluster. Correct me
> if you can save and reload a model but I don't think you can.
>
> Anyway, I'd like to know if you have recommendations on how you can do
> either one of the following:
> 1. convert the Ignite model into an interchangeable format? For example
> there are some emerging standards (such as https://onnx.ai/  for one)  and
> others - have any of you worked with such
>
> 2. if not transform the Ignite model into some standard format, how about
> saving the model into Native persistence, binary serialized format,
> creating
> some kind of handle that can shared with other clusters, and then use this
> to reload the model into a new Ignite session?
>
>
> This question has been asked of me recently, and this would be a good way
> to
> let Apache Ignite ML/DL models participate in a broader enterprise model
> deployment process.
>
>
>
>
> --
> Sent from: http://apache-ignite-developers.2346864.n4.nabble.com/
>