2015-06-12 12 views
0

Позвольте мне упростить этот вопрос.Opencv mlp Те же данные Различные результаты

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

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

Спасибо за то же время! -Tim

ответ

1

Я только сделал немного ковыряться до сих пор, но то, что я видел, подтверждает мое первое подозрение ...

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

rng = RNG((uint64)-1); 

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

+0

Ya это было! Если я сброшу исходное значение семени на каждую итерацию, результаты будут такими же! Благодаря! –

+0

Рад помочь! Не забудьте принять ответы, которые отвечают на ваш вопрос. – beaker

 Смежные вопросы

  • Нет связанных вопросов^_^