Going from trainNetwork to trainnet

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

Seemingly nothing. Why do you think something is wrong?
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
Edited: Sourabh on 28 Jan 2025
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

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 Deep Learning Toolbox in Help Center and File Exchange

Products

Release

R2024b

Asked:

on 21 Nov 2024

Commented:

on 28 Jan 2025

Community Treasure Hunt

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

Start Hunting!