Weights during network training

11 views (last 30 days)
Mauro
Mauro on 5 Nov 2011
Dear users,
I am training a neural network using traingda algortithm. Is it possible to access the weights of the network at the intermediate epochs? With the commands net.IW, net.LW, and net.b I can access the weights only at the end of the training. I would like to access all the intermediate weights.
Any help is really appreciated! Thank you.
Mauro

Answers (3)

Greg Heath
Greg Heath on 23 Nov 2011
You will have to loop over an inner one-epoch loop.
Hope this helps.
Greg

Mauro
Mauro on 23 Nov 2011
Dear Greg, thank you for your reply. I am not sure I have understood what you mean. Can you give me more details, please? How can I loop over an inner one-epoch loop?
Thank you,
Mauro

Greg Heath
Greg Heath on 1 Dec 2011
rand('state',0);
net = newff(p,t,H);
IW = net.IW{1,1};
b1 = net.b{1};
IW = net.LW{2,1};
b2 = net.b{2};
% Store and/or plot the weight values
MSEgoal = mean(var(t'))/100
Nepochs = 1
Nloops = 100
net.trainParam.goal = MSEgoal;
net.trainParam.epochs = Nepochs;
net.trainParam.show = inf;
for i = 1:Nloops
net = train(net,p,t);
IW = net.IW{1,1};
b1 = net.b{1};
LW = net.LW{2,1};
b2 = net.b{2};
% Update storage and/or plots
end
REPRODUCIBILITY WARNING:
Using Nepochs = 100 with Nloops = 1 yields different results because each call of TRAIN reinitializes internal parameters.
Hope this helps.
Greg

Categories

Find more on Deep Learning Toolbox in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!