Aumento de datos en tiempo real en la lasaña

votos
2

Necesito hacer el aumento del tiempo real en mi conjunto de datos para la entrada a la CNN, pero estoy teniendo un momento muy difícil encontrar bibliotecas adecuadas para ello. He tratado caffepero el DataTransformno soporta muchos aumentos en tiempo real como la rotación, etc. Así que para facilitar la aplicación me conformé con Lasagne. Pero parece que también no es compatible con el aumento en tiempo real. He visto algunos mensajes relacionados con Facial Keypoints detectiondonde él está usando Batchiteratorde nolearn.lasagne. Pero no estoy seguro de si su tiempo real o no. No hay tutorial adecuado para ello. Así que, finalmente, cómo debo hacer en tiempo real de aumento en Lasagneya sea a través nolearno de otra manera?

Publicado el 04/01/2016 a las 08:20
fuente por usuario
En otros idiomas...                            


3 respuestas

votos
1

Puede utilizar marco Keras para el aumento de datos en tiempo real para el entrenamiento de la CNN. Aquí está el código de ejemplo para CIFAR10 conjunto de datos de GitHub. También se puede cambiar para adaptarse a sus necesidades o copiar el código fuente y añadir al proyecto de lasaña, pero no he probado la importación de lasaña antes. La idea básica detrás de esto está aumentando de forma aleatoria de datos en cada lote. Si usted tiene para el lazo de los lotes que se ajuste a la red, puede llamar a su función de aumento antes de enviar los datos a la red.

Respondida el 04/01/2016 a las 20:45
fuente por usuario

votos
1

Sí que puede hacer el aumento de datos en tiempo real en la lasaña. La forma más simple está utilizando el GaussianNoiseLayer . Simplemente inserta después de la capa de entrada. Si el ruido de Gauss no es lo que necesita, entonces por lo menos usted tiene GaussianNoiseLayer como un ejemplo de cómo implementar su propio.

Nótese cómo el deterministicse utiliza el parámetro de lasaña. Se está desactivada por defecto, por lo que durante el entrenamiento del ruido se añade. Durante las pruebas se establece deterministic=Truey el aumento es simplemente evitar.

Respondida el 06/07/2016 a las 11:11
fuente por usuario

votos
0

Sí, el reconocimiento facial Keypoints tutorial que lo mencionas sí usa en tiempo real (sobre la marcha) de aumento para voltear las imágenes de entrada (y las coordenadas de destino) al azar.

El nolearn-utils biblioteca tiene un montón de ejemplos de iteradores que hacen varios tipos de aumentación. Por ejemplo, AffineTransformBatchIteratorMixinlo hace afín al azar transforma sobre la marcha.

Respondida el 27/08/2016 a las 23:34
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more