microsoft / ELL

Embedded Learning Library
https://microsoft.github.io/ELL
Other
2.29k stars 294 forks source link

Q: support for IL2CPP and/or CoreRT #187

Closed grahamehorner closed 5 years ago

grahamehorner commented 5 years ago

Is there any plan to support the efforts of the CoreRT team AOT compiler output as cpp and/or native targeted executables ?

lovettchris commented 5 years ago

No. But I see no reason why these things couldn't already work with the compiled neural network output from ELL:

image

and image

this second case might be a bit trickier since the C# code would need to know how to call the ELL generated native API to "predict", perhaps a native interop could achieve that.

grahamehorner commented 5 years ago

I was thinking something more like

neural network -> ELL -> C# -> CoreRT -> C++ ? neural network -> ELL -> object + .h -> ?

as then ELL could build upon the CoreRT efforts and perhaps be deployed onto a platform that is not currently supported; but becomes a supported CoreRT platform ?

all just thinking aloud with ideas for the future; loving the fact ML/AI is running on the edge and the work you guys are doing :D +1000

clovett commented 5 years ago

Well you might be looking for an ELL to C++ option, this would then give you more platform options (any platform that can compile that C++ code), but this is not currently supported. But it is on our list of things to look into.

grahamehorner commented 5 years ago

@clover cool would love to contribute as when if you guys start this or believe the effort is worth the time

lovettchris commented 5 years ago

Sure thing, love to get some help. In the meantime if you use IL2CPP or CoreRT to native code there it should already by possible to link the ELL generated object code into an existing native application. I'd be happy to help get that working if you want to try something along those lines.

grahamehorner commented 5 years ago

@lovettchris cool, looking to build a dev me today for exactly that, looking forward to creating some awesome proof of concepts using ELL 🖖