Quantcast
Channel: OpenCV Q&A Forum - Latest question feed
Viewing all articles
Browse latest Browse all 19555

digit recognition using ANN_MLP opencv 3.0 error

$
0
0
[C:\fakepath\csv file.png] (/upfiles/1483124022567734.png)[C:\fakepath\error.png](/upfiles/14831189428760695.png) [C:\fakepath\error.png](/upfiles/14831140235882506.png) this related to the previous question i had asked: http://answers.opencv.org/question/120541/how-do-i-load-and-use-traindata/ i am trying to build digit recognition project using ANN_MLP open cv 3.0 and the code is as follows: [C:\fakepath\csv file.png](/upfiles/14831240972030755.png) void main() { int inputLayerSize = 1; int outputLayerSize = 1; int numSamples = 2; Mat layers = Mat(3, 1, CV_32S); layers.row(0) =Scalar(35591) ; layers.row(1) = Scalar(100); layers.row(2) = Scalar(10); vector layerSizes; layerSizes[0]=35591; layerSizes[1]=1000; layerSizes[2]=10; Ptr nnPtr =ANN_MLP::create(); //nnPtr->setLayerSizes(3); nnPtr->setLayerSizes(layers); nnPtr->setTrainMethod(ANN_MLP::BACKPROP); nnPtr->setTermCriteria(TermCriteria(cv::TermCriteria::COUNT | cv::TermCriteria::EPS, 1000, 0.00001f)); nnPtr->setActivationFunction(ANN_MLP::SIGMOID_SYM, 1, 1); nnPtr->setBackpropWeightScale(0.5f); nnPtr->setBackpropMomentumScale(0.5f); Ptr tdata = TrainData::loadFromCSV("C:/Users/Shreya Srivastava/Desktop/train.csv", 0, // lines to skip 0, // 1st elem is the label -1); // only 1 response per line Mat trainData = tdata->getTrainSamples(); Mat trainLabels = tdata->getTrainResponses(); int numClasses = 10; // assuming mnist Mat hot(trainLabels.rows, numClasses, CV_32F, 0.0f); // all zero, initially for (int i=0; i(i); hot.at(i, id) = 1.0f; } nnPtr->train(trainData,0,hot); bool m = nnPtr->isTrained(); if (m) std::cout << "training complete\n\n"; Ptr mdata = TrainData::loadFromCSV("C:/Users/Shreya Srivastava/Desktop/test.csv", 0,0,-1); Mat testData = mdata->getTrainSamples(); Mat testLabels = mdata->getTrainResponses(); Mat testResults; nnPtr->predict(testData, testResults); float accuracy = float(countNonZero(testResults == testLabels)) / testLabels.rows; printf("the accuracy is %f",accuracy); } i dont understand why i am getting assertion failed error

Viewing all articles
Browse latest Browse all 19555

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>