How to use setwb?

3 views (last 30 days)
John F
John F on 4 Dec 2021
Say I have an already fully configured Neural Network net. I am trying to write the algorithm for the cascade k-fold cross validation of this network. For the first fold I initialize the weights randomly (using initnw). I would like all following folds to get the weights that resulted from the training of the previous fold using initwb and setwb. The relevant code snippet looks like the following:
for i=1:numberOfFolds
if (i==1)
net = init(net); % Random initialization
else
% bestIW{i-1} and bestLW{i-1} are the net.IW and net.LW
% of the best trained network of the previous fold
net.layers{1:end}.initFcn = 'initwb';
net = setwb(net,[bestIW{i-1},bestLW{i-1}]);
end
end
When I run the full code I get the following error message:
Index exceeds the number of array elements (12).
I'm not sure how to format the second arguement of the setwb command in order for this to work. Also, do I need to run init(net) after setwb?

Answers (0)

Categories

Find more on Sequence and Numeric Feature Data Workflows in Help Center and File Exchange

Products


Release

R2018b

Community Treasure Hunt

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

Start Hunting!