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

MLP Train iteration limit - bug?

$
0
0
I am trying to learn my neural network to classify images. The whole learning data preparing and other stuffs work ok, the NN can learn recognizing 5 images (1 per class). But when I get it 2 images per class, I got quite bad results - I think it's because the NN is undertained. So I updated the term criteria from 1000 to 10 000: mlp->setTermCriteria(TermCriteria( TermCriteria::Type::MAX_ITER, 10000, 0.0001 )); but with no success - still the same training time and recognizing results. It looks like the max iteration parameter only scale from 1-3000 - higher values don't make a difference. So I tryied to update the weight in loop: mlp->train(trainingData); for (int i = 0; i < 100; i++) { cout << "Traning iteration: " << i << endl; mlp->train(trainingData , ANN_MLP::TrainFlags::UPDATE_WEIGHTS ); } But only first 2-3 iterations take time, the other aren't learining anything and I just got text spaming in console. My layers size are 1250-300-5. When I set the hidden layers to 100 i got better results and with 50 the results are perfect, so it means that the NN is working ok but I can't force the OpenCV to extend the learning time. So my question is how to force the OpenCV ANN_MLP to pefrorm larger training? Any tips will be helpful ;)

Viewing all articles
Browse latest Browse all 19555

Trending Articles



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