Probleme beim Training des ML-Modells mit der OpenCV-BibliothekC++

Programme in C++. Entwicklerforum
Guest
 Probleme beim Training des ML-Modells mit der OpenCV-Bibliothek

Post by Guest »

Ich möchte ein ML-Modell erstellen, das handgeschriebene Ziffern aus dem MNIST-Datensatz erkennt. Das ML-Modell ist in C++ unter Verwendung der OpenCV-Bibliothek geschrieben. Nachdem ich das Modell erstellt und die Daten trainiert habe, erhalte ich in meiner Ausgabeebene immer Nan oder Inf.
Ich habe versucht, die Trainingsparameter zu ändern, aber das hat nicht funktioniert irgendetwas tun. Ich habe versucht, einen kleineren Datensatz mit 100 Einheiten zu verarbeiten, und in diesem Satz schaffe ich es, einige Werte in der Ausgabeebene zu erhalten, aber die meisten davon sind immer noch Nan. Ich kann den Grund dafür einfach nicht finden. Hier ist der Code für das ML-Modell:

Code: Select all

cv::Ptr mlp = cv::ml::ANN_MLP::create();
mlp->setActivationFunction(cv::ml::ANN_MLP::SIGMOID_SYM, 1, 1);

int inputLayerSize = imagesData[0].total();
if (inputLayerSize > std::numeric_limits::max()) {
throw std::overflow_error("inputLayerSize exceeds the maximum value for int");
}
size_t hiddenLayerSize = 100;
size_t outputLayerSize = 10;

cv::Mat layers = (cv::Mat_(3, 1)setTermCriteria(termCrit);

mlp->setTrainMethod(cv::ml::ANN_MLP::BACKPROP, 0.001, 0.1);

mlp->train(trainingData, cv::ml::ROW_SAMPLE, labelData);
Ich habe auch die Pixeldaten normalisiert.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post