- https://www.mathworks.com/help/coder/ug/generate-generic-cc-code-for-deep-learning-networks.html
- https://www.mathworks.com/help/deeplearning/ug/code-generation-for-deep-learning-networks.html
Is it possible to translate a trained Neural Network to C++? I have this code below with one .xlsx input file. I would like to build the trained ANN model in my C++ code. Thanks guys for help! Balazs
5 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
inputs = xlsread('Alloy 600 CGR data_1.xlsx','sheet3','Q8:X163');
targets = xlsread('Alloy 600 CGR data_1.xlsx','sheet3','Y8:Y163');
inputs=inputs';
targets=targets';
net = feedforwardnet(16);
net.inputs{1}.processFcns = {'removeconstantrows','mapminmax'};
net.outputs{2}.processFcns = {'removeconstantrows','mapminmax'};
net.divideFcn = 'dividerand'; % Divide data randomly
net.divideMode = 'sample'; % Divide up every sample
net.divideParam.trainRatio = 70/100;
net.divideParam.valRatio = 15/100;
net.divideParam.testRatio = 15/100;
net.trainFcn = 'trainlm'; % Levenberg-Marquardt
net.performFcn = 'mse'; % Mean squared errorn
net.plotFcns = {'plotperform','plottrainstate','ploterrhist', ...
'plotregression', 'plotfit'};
% Train the Network
[net,tr] = train(net,inputs,targets); %ĘąÓĂ´¦ŔíşóµÄĘäČë±äÁżşÍĘäłö±äÁżŃµÁ·ÍřÂç
% Test the Network
outputs = net(inputs);
errors = gsubtract(targets,outputs);
performance = perform(net,targets,outputs);
% Recalculate Training, Validation and Test Performance
trainTargets = targets .* tr.trainMask{1};
valTargets = targets .* tr.valMask{1};
testTargets = targets .* tr.testMask{1};
trainPerformance = perform(net,trainTargets,outputs);
valPerformance = perform(net,valTargets,outputs);
testPerformance = perform(net,testTargets,outputs);
0 comentarios
Respuestas (1)
Sourabh
el 19 de Feb. de 2025
Hey @Balazs Fekete
Yes, it is possible to generate C++ code from an already trained neural network using MATLAB Coder.
Follow the steps below:
1. Create a function in MATLAB that loads the pre-trained network and predicts the output.
function out = my_predict(in) %#codegen
persistent mynet;
if isempty(mynet)
mynet = coder.loadDeepLearningNetwork(net); %assuming your pre-trained network is stored in “net” variable
end
% pass the input “in”
out = predict(mynet,in);
2. To produce C++ code, set the Code Generation Configuration object.
cfg = coder.config('lib');
cfg.TargetLang = 'C++';
cfg.DeepLearningConfig = coder.DeepLearningConfig(TargetLibrary='none');
3. Finally, run the codegen command. Use the -config option to specify the configuration object and -args option to specify the input.
codegen -config cfg my_predict -args {myInput}
Kindly refer the following MATLAB Coder documentation:
I hope this helps you!
0 comentarios
Ver también
Categorías
Más información sobre Deep Learning Toolbox en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!