How can I call network
7 ビュー (過去 30 日間)
古いコメントを表示
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
0 件のコメント
採用された回答
Jon Cherrie
2021 年 5 月 2 日
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 件のコメント
Jon Cherrie
2021 年 5 月 6 日
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
その他の回答 (0 件)
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!