Проблемы с обучением модели ML с использованием библиотеки OpenCVC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Проблемы с обучением модели ML с использованием библиотеки OpenCV

Сообщение Anonymous »

Я хочу создать модель машинного обучения, которая распознает рукописные цифры из набора данных MNIST. Модель ML написана на C++ с использованием библиотеки OpenCV. После построения модели и обучения данных я всегда получаю в выходном слое Nan или Inf.
Я пытался изменить параметры обучения, но это не помогло. делай что угодно. Я попытался обработать меньший набор данных из 100 единиц, и в этом наборе мне удалось получить некоторые значения на выходном слое, но большинство из них все еще Nan. Я просто не могу найти причину этого. Вот код модели машинного обучения:

Код: Выделить всё

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);
Я также нормализовал данные пикселей.

Подробнее здесь: https://stackoverflow.com/questions/793 ... cv-library
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»