with pyimagesearch neural network learning dnn cnn c++ opencv machine-learning neural-network weight

c++ - pyimagesearch - opencv python neural network



Opencv mlp Same Data Different Results (1)

Solo he hecho un poco de hurgar hasta ahora, pero lo que he visto confirma mi primera sospecha ...

Parece que cada vez que inicia el programa, el generador de números aleatorios obtiene un valor fijo:

rng = RNG((uint64)-1);

Entonces, cada vez que ejecutas el programa estás generando la misma secuencia aleatoria. Al ejecutar en un bucle, continúa generando los siguientes números aleatorios en la secuencia, que es diferente (generalmente) de la última secuencia.

Déjame simplificar esta pregunta.

Si ejecuto opencv MLP train y clasifico consecutivamente en los mismos datos, obtengo resultados diferentes. Es decir, si pongo el entrenamiento de un nuevo mlp en los mismos datos de tren y clasifico en los mismos datos de prueba en un bucle for, cada iteración me dará resultados diferentes. Aunque estoy creando un nuevo objeto mlp en cada iteración. Sin embargo, si en lugar de usar un ciclo for, simplemente ejecuto el programa varias veces, reinicio el programa después de cada tren y lo clasifico; los resultados son exactamente los mismos

Entonces, la pregunta es, ¿OpenCV usa ponderaciones previas, variables, o algo por el estilo de otros trenes mlp? Aunque no es el mismo objeto mlp. Alguien sabe por qué hace esto?

¡Gracias por el tiempo! -Tim