MATLAB Answers


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

Asked by As Has on 31 Dec 2017
Latest activity Answered by Ignacio Arganda-Carreras on 17 Oct 2018
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


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.
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
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.

1 Answer

Answer by 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.