Este proyecto es una introducción práctica al uso de Redes Neuronales Convolucionales (CNNs) para el reconocimiento de dígitos escritos a mano. Utilizamos el popular conjunto de datos MNIST, TensorFlow para construir la red neuronal y Gradio para desarrollar una interfaz de usuario interactiva.
El conjunto de datos MNIST contiene 60,000 imágenes de entrenamiento y 10,000 imágenes de prueba de dígitos escritos a mano en escala de grises (28x28 píxeles). El objetivo es construir un modelo de aprendizaje profundo que pueda identificar correctamente estos dígitos.
Este proyecto incluye la construcción de una Red Neuronal Convolucional utilizando TensorFlow. Las CNNs son particularmente efectivas para tareas de clasificación de imágenes debido a su capacidad para capturar características espaciales.
Además, para que sea más interactivo y amigable para el usuario, hemos desarrollado una interfaz de usuario web simple utilizando Gradio. Esto permite a los usuarios dibujar un dígito y obtener las predicciones del modelo en tiempo real.
- TensorFlow: Un marco de aprendizaje profundo que nos permite construir y entrenar redes neuronales.
- Gradio: Una biblioteca para crear rápidamente interfaces de usuario para modelos de aprendizaje automático.
- MNIST Dataset: Un conjunto de datos de imágenes en escala de grises de dígitos escritos a mano, utilizado para entrenar y evaluar el modelo.
Para ejecutar este proyecto en tu máquina local, sigue estos pasos:
-
Asegúrate de tener Python 3.6 o superior instalado.
-
Clona este repositorio:
git clone https://github.com/demstalferez/Reconomiento-de-digitos-con-red-neuronal.git
-
Navega al directorio clonado e instala las dependencias requeridas:
cd Reconomiento-de-digitos-con-red-neuronal pip install -r requirements.txt
-
Ejecuta el script
app.py
:python3 app.py
-
Esto abrirá una ventana en tu navegador web. Puedes dibujar un dígito en el cuadro proporcionado y luego presionar el botón de enviar para ver la predicción del modelo.
Si deseas contribuir a este proyecto, por favor:
- Haz un Fork del repositorio.
- Crea tu rama de características (
git checkout -b feature/nombre-de-tu-feature
). - Realiza tus cambios y haz commit de ellos (
git commit -am 'Añadir alguna característica'
). - Sube tu rama (
git push origin feature/nombre-de-tu-feature
). - Crea un nuevo Pull Request explicando tus cambios.
Este proyecto está bajo la Licencia MIT - consulta el archivo LICENCIA para más detalles.