Opencv mlp одни и те же данные разные результаты

Позвольте Мне упростить этот вопрос.

Если я запускаю opencv MLP train и последовательно классифицирую одни и те же данные, я получаю разные результаты. Это означает, что если я добавлю тренировку нового mlp к одним и тем же данным поезда и классифицирую по тем же тестовым данным в цикле for, каждая итерация даст мне разные результаты. Хотя я создаю новый объект mlp каждую итерацию. Однако, если вместо использования цикла for я просто запускаю программу несколько раз, перезапуская программу после каждого поезда и классифицируя; результаты точно такие же.

Итак, вопрос в том, использует ли opencv предыдущие веса, переменные или что-то в этом роде из других поездов mlp? Даже если это не тот же объект mlp. Кто-нибудь знает, почему он это делает?

Спасибо за время!
-Тим

0

Решение

До сих пор я немного повозился, но то, что я увидел, подтверждает мое первое подозрение …

Похоже, что каждый раз, когда вы запускаете программу, генератор случайных чисел заполняется до фиксированного значения:

rng = RNG((uint64)-1);

Поэтому каждый раз, когда вы запускаете программу, вы генерируете одну и ту же случайную последовательность. Работая в цикле, вы продолжаете генерировать следующие случайные числа в последовательности, которая отличается (как правило) от последней последовательности.

0

Другие решения


По вопросам рекламы [email protected]