I had a great conversation with some of the team at Build today. I hope this is the right place - would love to see ML.Net bring evaluation of CNTK models. The team suggested I place a note here to hopefully help vote this up.
We use custom CNTK models for behind the scenes processing in our app to do various things. We do the evaluation in Azure Function, and would love to see a pure-.net deploy instead of the current deploy where we have to bin deploy lots of C++ libraries and manually work around getting those into a path location so they are callable via c#/managed code.
So, +1 for our team - we would love to see this feature add.
Ryan, thanks for the suggestion! Integration of deep learning is in our roadmap longer term.
It would be interesting to see what scenarios you would be interested in.
Would it be useful if you could train CNTK models in ML.NET as well?
Are you using any hybrid models that combine CNTK with a general-purpose ML algorithms?
I would love to have the evaluation in this as well. We work a lot with developers that know how to build regular software, but don't train models themselves.
One scenario I can think of is that you train a model and export it to ONNX and then load it in ML.NET so that you can make predictions using that model.
+1 For training CNTK in ML.NET
re: @glebuk question on priority. I would prioritize Eval. There are lots of other resources compute and otherwise that we use for training. Eval is where we are trying to use this in applications. Being able to use the CNTK models without all this or this or this.
Plus those are adding about 1GB+ to our deployments. If that can be a smaller, managed code, eval only deployment that works with nothing more than nuget add - that would bring model eval ML as a first-class citizen to using it in our .Net app dev.
DRI RESPONSE: We implemented TensorFlow and Onnx transforms, which allow you to score models. You can always convert CNTK model to ONNX and use it.
Most helpful comment
re: @glebuk question on priority. I would prioritize Eval. There are lots of other resources compute and otherwise that we use for training. Eval is where we are trying to use this in applications. Being able to use the CNTK models without all this or this or this.
Plus those are adding about 1GB+ to our deployments. If that can be a smaller, managed code, eval only deployment that works with nothing more than nuget add - that would bring model eval ML as a first-class citizen to using it in our .Net app dev.