Going from trainNetwork to trainnet

49 views (last 30 days)
psousa
psousa on 21 Nov 2024
Commented: psousa on 28 Jan 2025 at 13:50
I've attached 3 files(see post below for latest version of these files):
  • trainNetworkEXAMPLE - my original trainNetwork implementation
  • trainnetEXAMPLE - the trainnet implementation
  • example.csv - data file with predictors and targets
The codes for the two examples are identical, the difference is only in the formatting of the input matrices.
trainNetworkEXAMPLE works as expected.
trainnetEXAMPLE works but convergence of the solver is different and solution is poor.
Both codes end with:
Training stopped: Met validation criterion
What am I getting wrong?
  2 Comments
Matt J
Matt J on 21 Nov 2024
Seemingly nothing. Why do you think something is wrong?
psousa
psousa on 21 Nov 2024
NMSE for training set and test set are considerably worse for version using trainnet.

Sign in to comment.

Accepted Answer

Sourabh
Sourabh on 28 Jan 2025 at 9:05
Edited: Sourabh on 28 Jan 2025 at 9:06
I too encountered the similar issue when using “trainnet” and “trainNetwork” method.
The workaround that worked in my case was to:
  1. Use @mse as the loss function instead of "mse" in “trainnet”.
[net,info] = trainnet(XTrain,TTrain,layers,@mse,options);
2. Set 'GradientThreshold' to ‘Inf’ in ‘trainingOptions’ of both the programs.
options = trainingOptions('adam',
...
'GradientThreshold',Inf,
...
);
Kindly refer to the below image:
  1 Comment
psousa
psousa on 28 Jan 2025 at 13:50
Matlab support got back to me within a couple weeks and that was the solution they offered.
Thanks for looking into it.

Sign in to comment.

More Answers (0)

Categories

Find more on Image Data Workflows in Help Center and File Exchange

Products


Release

R2024b

Community Treasure Hunt

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

Start Hunting!