Para esta solución se utilizó una red neuronal convolucional y todos los datos de entrenamiento disponibles
La red cuenta con las siguientes capas:
- Convolución (40 filtros, kernel de 7x7)
- Pooling (2x2, stride 1)
- Convolución (20 filtros, kernel de 5x5)
- Pooling (2x2, stride 1)
- Convolución (10 filtros, kernel de 3x3)
- Pooling (2x2, stride 1)
- Capa normal (fully connected) con 1024 unidades y dropout
- Capa normal (fully connected) con 512 unidades y dropout
- Capa normal (fully connected) con 43 unidades (número de clases)
El dropout se hizo con una probabilidad de conservación de 0.3
94% < Tasa de aciertos < 95%
Archivo | Descripción |
---|---|
model.py | Contiene el modelo, la definición del gráfico de tensorflow y su entrenamiento |
explore.ipynb | Exploración inicial de los datos |
restore_and_predict.ipynb | Permite explorar más a fondo el resultado del entrenamiento |
Los archivos asumen que se tiene una carpeta llamada 'german-traffic-signs' la cual contiene las carpatas 'training-set' y 'test-set', las cuales corresponden a los datos de entrenamiento y prueba respectivamente (como son entregados por el paquete dataget)
model.py crea carpetas donde guarda algunos datos del modelo y el enternamiento, pero estos no serán guardados en el repositorio.
Para más detalles visite la página principal del reto en colomb-ia: