save a training code using ANN in script and use it in a function in simulink Matlab.
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hello,
so i have a code for prediction of the output power of solar pv panel in a script, i want to save the training model of the script, then i want to use this training model in a function block using simulink Matlab, but the problem is i don't know how to save the "net" of the training model, and after saving it, how to use it in the function?
%code for prediction
load Nndat.mat
% This script assumes these variables are defined:
% datas21 - input data.
% Solarenergy - target data.
x = datas21';
t = Solarenergy';
% Choose a Training Function
% For a list of all training functions type: help nntrain
% 'trainlm' is usually fastest.
% 'trainbr' takes longer but may be better for challenging problems.
% 'trainscg' uses less memory. Suitable in low memory situations.
trainFcn = 'trainlm'; % Levenberg-Marquardt backpropagation.
% Create a Fitting Network
hiddenLayerSize = 10;
net = fitnet(hiddenLayerSize,trainFcn);
% Setup Division of Data for Training, Validation, Testing
net.divideParam.trainRatio = 70/100;
net.divideParam.valRatio = 15/100;
net.divideParam.testRatio = 15/100;
% Train the Network
[net,tr] = train(net,x,t);
% Test the Network
y = net(x);
e = gsubtract(t,y);
performance = perform(net,t,y)
% View the Network
view(net)
% Plots
% Uncomment these lines to enable various plots.
plot(x(1,:),y,'o')
%function using simulink matlab:
function outputPower = predictPVOutput(inputData)
% Predict using the ANN
outputPower = net(inputData);
end
Réponse acceptée
Ganesh
le 18 Déc 2023
Modifié(e) : Ganesh
le 18 Déc 2023
I understand that you are trying to save your ANN so as to use the model at a later point. You can achieve this by using the save and load commands.
In your case, the implementation will be as follows:
[net,tr] = train(net,x,t); % Training the model
save('net')
function outputPower = predictPVOutput(inputData)
load('net')
outputPower = net(inputData);
end
Please refer to the following documentation for more info on save() function. You may use it to name your saved file accordingly.
Thanks,
Ganesh
3 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Sequence and Numeric Feature Data Workflows dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!