Exporting machine learning model to .NET Assembly

1 次查看(过去 30 天)
I have created a .NET assembly using the Matlab Library Compiler and included it in a Visual Studio 2015 C# project. Everything works fine except for when I attempt to make a prediction using the model. The Matlab code looks like this:
load('C:\...\dispositionModel.mat', 'trainedModel1');
result = trainedModel1.predictFcn(data);
I get the following error:
Warning: Could not find appropriate function on path loading function handle C:\Program Files\MATLAB\R2018b\toolbox\stats\mlearnapp\+mlearnapp\+internal\+model\DatasetSpecification.m>@(x)exportableModel.predictFcn(predictorExtractionFcn(x))
I'm not sure why it's calling functions on the R2018b path, instead of the MATLAB Runtime path. I have included a pragma in my function
%#function fitctree
Looking through other help documentation, I'm only seeing references to C/C++ for using machine learning models with generated code. Is it even possible with C#?

采纳的回答

Steven Feingold
Steven Feingold 2019-7-2
The answer was to call the prediction function differently.
ModelClassificationEnsemble = trainedModel1.ClassificationEnsemble;
result = predict(ModelClassificationEnsemble, data);

更多回答(1 个)

undefined undefined
Hi
I have trained a neural network in Matlab, and now would like to predict using this trained network from C# code.
How do I save the network in a format readable by C# ?
How do I then call the predict function form C#?
What needs to installed on my C# machine? (currently it doesn not have Matlab runtime, sice I developed the net on another computer)
Thanks in advance,
Gal

类别

Help CenterFile Exchange 中查找有关 MATLAB Compiler SDK 的更多信息

产品


版本

R2018b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by