How can I call network

5 views (last 30 days)
Hazim Hamad
Hazim Hamad on 2 May 2021
Commented: Jon Cherrie on 6 May 2021
I am using nueral network to prdict the output of four inputs ( x1,...x4)
I need to call the netowrk from another matlab file currently i am using save and load the net but this method takes time to load the net do you know any alternative method to call the net please.
data=readmatrix( 'input.txt')
x=data(:,1:4)
y=data(:,5)
m=length(y);
Visulaisation of the data
histogram(y,10)
Normalise the features and transform the output
y2=log(1+y)
histogram(y2,10)
plot(x(:,2),y2,'o')
Normalise the input variables
for i=1:4
x2(:,i)=(x(:,i)-min(x(:,i)))/(max(x(:,i))-min(x(:,i)))
end
Train an artificial neural network (ANN)
rng default % For reproducibility
xt=x2'
yt=y2'
hiddenLayerSize=16;
net=fitnet(hiddenLayerSize)
net.divideParam.trainratio=70/100;
net.divideParam.valratio=30/100;
net.divideParam.testratio=0/100;
[net,tr]=train(net,xt,yt)
performance of N.N
yTrain=exp(net(xt(:,tr.trainInd)))-1
yTrainTrue=exp(yt(:,tr.trainInd))-1
sqrt(mean((yTrain-yTrainTrue).^2))
yVal=exp(net(xt(:,tr.valInd)))-1
yValTrue=exp(yt(:,tr.valInd))-1
sqrt(mean((yVal-yValTrue).^2))
gregnet1 = net;
save gregnet1

Accepted Answer

Jon Cherrie
Jon Cherrie on 2 May 2021
You can use the sim function:
The sim function is usually called implicitly by calling the neural network as a function. For instance, these two expressions return the same result:
y = sim(net,x)
y = net(x)
I think for your case, you need something like this:
% Read data
data = readmatrix("new_data.txt")
x=data(:,1:4)
y=data(:,5)
% Load saved network
load gregnet
net = gregnet1;
% Evaluate network on data
xt = x.';
yhat = exp(net(xt)-1).';
% Compare predictions with new data
ytrue = y;
sqrt(mean((yhat-yTrainTrue).^2))
If you want to use the sim function instead of net(xt), then replace the "yhat =" line with
yhat = exp( sim(net,xt) - 1).';
  2 Comments
Hazim Hamad
Hazim Hamad on 6 May 2021
Many thanks for your help ; I have a question is the test data is related to unseen data and what is the difference between validation data and testing data and which one is important and can not be excluded from the model please.
Jon Cherrie
Jon Cherrie on 6 May 2021
This is an important topic and perhaps too long to cover in answer here. You might be better off with the documentation, e.g., starting from

Sign in to comment.

More Answers (0)

Products


Release

R2020a

Community Treasure Hunt

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

Start Hunting!