Having issues 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 training stops earlier.
Both codes end with
Training stopped: Met validation criterion
What am I getting wrong?

1 commentaire

Cris LaPierre
Cris LaPierre le 20 Nov 2024
Modifié(e) : Cris LaPierre le 20 Nov 2024
You have changed the question. It is better to ask a new question.

Connectez-vous pour commenter.

Réponses (1)

Cris LaPierre
Cris LaPierre le 19 Nov 2024
Modifié(e) : Cris LaPierre le 19 Nov 2024
You have a vector sequence, so your layout should be s-by-c matrices, where s and c are the numbers of time steps and channels (features) of the sequences, respectively.
Withouth knowing more about your data, it looks like you have a vector sequence containing 1028 timesteps and 4 channels. You should therefore use the same code for creating XTrain, XValidation, TTrain, and TValidation as in your trainNetwork example. See here.
% Predictor values
XTrain = (XStandardized(1:numTimeStepsTrain,:));
XValidation = XStandardized(end-numTimeStepsTest+1:end,:);
% Target values
TTrain = (TStandardized(1:numTimeStepsTrain,:));
TValidation = TStandardized(end-numTimeStepsTest+1:end,:);

3 commentaires

Thanks for the answer! I've followed your suggestion and simplified the inputs on both files. I've attached them to this message.
Do you have any comment regarding the difference in how the two codes run?
Cris LaPierre
Cris LaPierre le 19 Nov 2024
Modifié(e) : Cris LaPierre le 19 Nov 2024
I'd remove this unnecessary code in your trainnet example:
% Predictor values
XTrain = XTrain;
XValidation = XValidation;
% Target values
TTrain = TTrain;
TValidation = TValidation;
I left that there so that codes are very similar when comparing side-by-side.
Did you run both codes and see the differences in results?
Thank you for your answers!

Connectez-vous pour commenter.

Catégories

En savoir plus sur Deep Learning Toolbox dans Centre d'aide et File Exchange

Produits

Version

R2024b

Question posée :

le 19 Nov 2024

Modifié(e) :

le 20 Nov 2024

Community Treasure Hunt

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

Start Hunting!

Translated by