Skip to content

Latest commit

 

History

History
49 lines (28 loc) · 2.17 KB

entrenamiento.md

File metadata and controls

49 lines (28 loc) · 2.17 KB

<- Volver Home

Entrenamiento del modelo

Una vez que los datasets están generados se puede comenzar el entrenamiento del modelo.

> python reconobook_train.py

Entrenamiento

El entrenamiento se realiza por mini batch, es decir que se corrigen los parametros del modelo cada X cantidad de libros procesados. El tamaño de cada batch se puede ajustar con FLAGS.train_batch_size.

Para ajustar los parametros del modelo se utiliza el gradiente de descenso. El objetivo es disminuir el costo de cada ejemplo.
Entrenamiento

Podemos observar que para hacer 4000 pasos (ajustar los parametros 4000 veces, en total se procesaron 400000 imagenes) se demoró 12hs.
Entrenamiento

Esto se debe a que el modelo está corriendo en una maquina virtual, sin GPU y con muchas limitaciones de RAM, y se está haciendo uso de un solo CPU.
Entrenamiento

TODO: entrenar el modelo en una GPU y evaluar el cambio en la velocidad de aprendizaje.

El learning rate va a ir disminuyendo en función de la cantidad de pasos (esto permite que el modelo aprenda "más rapido" al principio y luego vaya afinando el aprendizaje sin olvidar lo que ya aprendió)

Entrenamiento

Cada 10 pasos se imprime por consola el costo y la velocidad de procesamiento para esos 10 batch.
cada 100 pasos se guardan la informaciòn de resumen que se puede visualizar en el tensorboard.
cada 500 pasos se guarda el modelo, con los valores de todos los parametros a ese momento.

La cantidad máxima de pasos a ejecutar se define en FLAGS.train_max_steps

Ejecución en windows 7, no virtual.

Ejecutando en la misma máquina donde estaba corriendo el servidor virtual Ubuntu, pero en Windows, se obtiene una mejora en la performance:

Entrenamiento

Y podes observar que los 4 cores están practicamente al 100%

Entrenamiento


<- Volver Home