iterative / mlem

🐶 A tool to package, serve, and deploy any ML model on any platform. Archived to be resurrected one day🤞
https://mlem.ai
Apache License 2.0
717 stars 44 forks source link

More languages to support #432

Open alexander-nsk opened 2 years ago

alexander-nsk commented 2 years ago

Hello :) It is possible to use MLEM models not only with Python but also with other languages? Thank you.

aguschin commented 2 years ago

Hi @alexander-nsk! What language do you mean exactly? Could you please describe your use case in more details?

denis-akvelon commented 2 years ago

Hi, @alexander-nsk! We are working on it, look at https://github.com/akvelon/MLEM-SDK-for-Java and https://github.com/akvelon/MLEM-SDK-for-C-Sharp

aguschin commented 2 years ago

cc @mike0sv

alexander-nsk commented 2 years ago

Hi @alexander-nsk! What language do you mean exactly? Could you please describe your use case in more details?

For example, in case I want to provide MLEM functionality to my Android application based on Java/Kotlin. Thank you.

alexander-nsk commented 2 years ago

Hi, @alexander-nsk! We are working on it, look at https://github.com/akvelon/MLEM-SDK-for-Java and https://github.com/akvelon/MLEM-SDK-for-C-Sharp

I'll check it. Thank you.

aguschin commented 2 years ago

For example, in case I want to provide MLEM functionality to my Android application based on Java/Kotlin.

@alexander-nsk, could you please clarify what MLEM functionality do you mean exactly? From what you say I can guess you want to

  1. Train model in Python, save it with MLEM
  2. Load MLEM model in Java/Kotlin, pass data to it and generate predictions

Am I right, or you have something else in mind?

alexander-nsk commented 2 years ago

For example, in case I want to provide MLEM functionality to my Android application based on Java/Kotlin.

@alexander-nsk, could you please clarify what MLEM functionality do you mean exactly? From what you say I can guess you want to

  1. Train model in Python, save it with MLEM
  2. Load MLEM model in Java/Kotlin, pass data to it and generate predictions

Am I right, or you have something else in mind?

Yes, You are right 👍 Thank you.

aguschin commented 2 years ago

Thanks @alexander-nsk! We're thinking about this use case. Specifically, we think about implementing export to onnx format, since you can use the model in onnx format in most languages. Will it work for you?

aguschin commented 2 years ago

Hi @alexander-nsk! A friendly ping :) WDYT about my last question?

alexander-nsk commented 2 years ago

Hi @alexander-nsk! A friendly ping :) WDYT about my last question? Hello, @aguschin .

I found some information about onnx format with Java. It seems like a very low-level approach, not exactly what I would expect from a framework designed to ease cross-platform model sharing. Thank you.

aguschin commented 2 years ago

Ok, got it. Would be happy to learn if there are more friendly/helpful formats to export models into. Since MLEM saves models in Python, I guess exporting models to cross-platform formats is the easiest way to use them in another languages.