MATLAB Answers

what is causes NaN values in the validation accuracy and loss from traning convolutional neural network and how to avoid it?

43 views (last 30 days)
As Has
As Has on 31 Dec 2017
I USE this line in matlab code [trainedNet,traininfo] = trainNetwork(trainMatrix,Layers,opts);
so the information about validation and traning accuracy/loss are storage in the variable traininfo.. when i open this variable i found only the first value in iteration number 1 and also the last value but between them the value are NAN. how to avoid this problem you know i need the whole values for plotting the learning curve after that


Santosh Gnanasekaran
Santosh Gnanasekaran on 1 Jan 2018
If the number\values are not properly represented or in case if you have any space at the beginning of the value the system recognizes thats nan.
1. Please ensure that there is no space at the beginning of the number\value.
2. Please ensure that there is no special character at number\value entered.
As Has
As Has on 1 Jan 2018
first of all thanks for your respond can you give me an example about space at the beginning of value or number.sorry it is not clear enough
Javier Pinzón
Javier Pinzón on 29 Jan 2018
Hello As Has,
Sorry for the late response, but, with the info provide is very difficult to find what is the root of the problem, may you provide us the next information?:
- Definition of the layers declared
- Network Options declared
At the moment that information. In that way, we can find what causes the problem.
Best Regards

Sign in to comment.

Answers (1)

Ignacio Arganda-Carreras
Ignacio Arganda-Carreras on 17 Oct 2018
Hello As Has,
I found the answer in the documentation of trainingInfo : "Each field is a numeric vector with one element per training iteration. Values that have not been calculated at a specific iteration are represented by NaN." So you need to check the iterations multiple of your validation frequency, those should have a value different from NaN.


Sign in to comment.

Sign in to answer this question.