[bug?]Deep​LearningIm​ageClassif​icationExa​mple not getting the expected classification accuracy

Hello, I've running the DeepLearningImageClassificationExample from MATLAB.
Unfortunately I keep getting unexpected classification accuracy. On the website the mean accuracy suppose to be 1 however the result I got was 0.3.
confMat =
0 1.0000 0
0 1.0000 0
0.0213 0.9787 0
ans =
0.3333
label =
airplanes
I noticed for some reason the trainingFeatures are the same for all the images, after the following line:
trainingFeatures = activations(convnet, trainingSet, featureLayer, ... 'MiniBatchSize', 32, 'OutputAs', 'columns');
I'm using MATLAB 2016a and I have cuda GPU. Can someone please help to test on your machine seee if you also have the problem? Thanks a lot

 Accepted Answer

Do you have a new Pascal GPU like the GeForce GTX 1080? If so, this is your issue:
I do apologise for this. We are waiting on a fix from NVIDIA.

7 Comments

Yes i do! I've then tried the function on my laptop with the 980m and it worked! Thx for letting me know :)
Even after installing the patch, I am getting the following error while trying to run CNN classification:
Error using nnet.internal.cnngpu.convolveForward2D Unexpected error calling cuDNN: CUDNN_STATUS_BAD_PARAM. Error in nnet.internal.cnn.layer.Convolution2D/doForward (line 218) Z = nnet.internal.cnngpu.convolveForward2D( ... Error in nnet.internal.cnn.layer.Convolution2D/forwardNormal (line 195) Z = this.doForward(X,this.Weights.Value,this.Bias.Value); Error in SeriesNetwork/predict (line 139) Y(:,:,:,i) = predictNetwork.predict(X);
Is there anything that needs to be done other than installing the patch?
Hi. I ran the entire demo on a GTX 1080 in MATLAB R2016b and got no errors. Can you describe your environment in a bit more detail? What version of MATLAB, what OS, what GPU, what are the reproduction steps? It may simply be that you have an invalid network that you trained before you installed the patch, perhaps?
I have same problem after replacing the file cudnn64_70.dll inside the bin folder. I have Windows 10 , Matlab 2016 a , NVIDIA GEFORCE GTX , I re-trained the following net after I had replaced the file:
layers = [ imageInputLayer([40 200 1]) convolution2dLayer(10 , 96 , 'Stride',2,'Padding',0) reluLayer
maxPooling2dLayer(2,'Stride',2)
convolution2dLayer(3,256, 'Stride',1,'Padding',1)
reluLayer
maxPooling2dLayer(2,'Stride',2)
convolution2dLayer(3,384, 'Stride',1,'Padding',1)
reluLayer
convolution2dLayer(3,384, 'Stride',1,'Padding',1)
reluLayer
convolution2dLayer(3,256, 'Stride',1,'Padding',1)
reluLayer
maxPooling2dLayer(2,'Stride',2)
fullyConnectedLayer(1024)
fullyConnectedLayer(2)
softmaxLayer
classificationLayer
];
coming back to this question I'd say the best answer is to upgrade matlab...

Sign in to comment.

More Answers (0)

Categories

Find more on Deep Learning Toolbox in Help Center and File Exchange

Asked:

on 16 Sep 2016

Commented:

on 5 Mar 2018

Community Treasure Hunt

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

Start Hunting!