Este proyecto implementa un sistema completo de reconocimiento de dígitos manuscritos utilizando una Red Neuronal Convolucional (CNN) entrenada con el dataset MNIST.
El sistema permite a los usuarios dibujar dígitos (0-9) en una interfaz web interactiva y obtener predicciones en tiempo real utilizando un modelo de inteligencia artificial entrenado.
tlp3-tpfinal/
├── client/ # Frontend React + Vite
├── server/ # Backend FastAPI + TensorFlow
├── train/ # Notebook de entrenamiento del modelo
- React 19 - Biblioteca de JavaScript para la interfaz de usuario
- Vite - Herramienta de construcción y desarrollo
- Axios - Cliente HTTP para comunicación con el backend
- FastAPI - Framework web moderno y rápido para Python
- TensorFlow/Keras - Framework de machine learning
- NumPy - Computación numérica
- CNN (Convolutional Neural Network) - Arquitectura de red neuronal
- MNIST Dataset - Dataset de dígitos manuscritos
- Google Colab - Plataforma de entrenamiento (recomendada)
- El servidor estará disponible en
http://localhost:8000 - La aplicación web estará disponible en
http://localhost:5173
El modelo CNN fue entrenado usando el notebook train/CNN.ipynb. Se recomienda encarecidamente ejecutar el entrenamiento en Google Colab para aprovechar las GPU gratuitas y el entorno optimizado.
- Arquitectura CNN con capas convolucionales y de pooling
- Normalización por lotes (Batch Normalization)
- Dropout para prevenir overfitting
- Precisión de entrenamiento: ~99%
- Precisión de validación: ~98%
- Accede a la aplicación web en tu navegador
- Dibuja un dígito (0-9) en el canvas interactivo
- Ajusta el tamaño del pincel si es necesario
- Haz clic en "Predecir" para obtener el resultado
- Usa "Limpiar" para borrar el canvas y dibujar un nuevo dígito
GET /- Verificación de salud del servidorPOST /predict- Predicción de dígitosGET /metrics- Métricas del modeloGET /info- Información del sistema
Este proyecto fue desarrollado como como Trabajo Práctico Final - TLP3 2025
- Majda, Facundo.
- Sanchez, Ramiro.