When I set net.trainP​aram.epoch​s=5000, the max epoch is still 1000 in GUI

85 views (last 30 days)
I can't change the max epoch using net.trainParam.epochs.
  2 Comments
Elizabeth Reese
Elizabeth Reese on 6 Dec 2017
Can you post how you created the network? It would be helpful to see the code that reproduces this issue. Sometimes the order of changing different parameters and options can reset values back to their defaults and 1000 is the default epoch value for the training functions.
DAR VON
DAR VON on 7 Dec 2017
function net = network_train(train_data,train_label)
layer=25;
net=newff(train_data,train_label,layer);
net.trainParam.epochs=5000;
net.trainParam.lr=0.01;
%net.trainParam.lr=lr;
net.trainParam.goal=0.001;
net.trainParam.show=50;
net.trainParam.max_fail=500;
net.trainFcn='trainscg';
net=train(net,train_data,train_label);
end
Thanks a lot.

Sign in to comment.

Accepted Answer

Elizabeth Reese
Elizabeth Reese on 7 Dec 2017
Thank you for posting your code.
Based on the Neural Network Toolbox documentation here, updating the net.trainFcn will reset the net.trainParam to the default values for the new function. So changing the net.trainFcn to trainscg changes the net.trainParam to the defaults listed here. These defaults include having the epochs set to 1000.
To fix this, just move the assignment to the net.trainFcn to before any updates to the net.trainParam.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!