Proyecto Neural Network: Reconocimiento de Dígitos Escritos a Mano

Find AI Tools in second

Find AI Tools
No difficulty
No complicated process
Find ai tools

Proyecto Neural Network: Reconocimiento de Dígitos Escritos a Mano

🔍Contenidos🔎

  • Introducción
  • Instalación de bibliotecas
  • Carga del conjunto de datos mnist
  • Preprocesamiento de datos
  • Creación del modelo de red neuronal
  • Compilación y entrenamiento del modelo
  • Evaluación del modelo
  • Clasificación de dígitos escritos a mano
  • Conclusiones

👨‍💻Introducción👨‍💻

¡Hola a todos! En el video de hoy, vamos a construir una red neuronal que reconozca dígitos escritos a mano en Python. Este proyecto es especialmente interesante para aquellos que están interesados en el aprendizaje automático y desean aprender los conceptos básicos de las redes neuronales. Trabajaremos con el conjunto de datos MNIST, que contiene imágenes de dígitos escritos a mano en formato de píxeles 28x28. Usaremos este conjunto de datos para entrenar nuestra red neuronal, luego la probaremos e incluso la usaremos para clasificar nuestros propios dígitos escritos a mano. ¡Espero que les guste!

📚Instalación de bibliotecas📚

Antes de comenzar, necesitamos instalar algunas bibliotecas. Abre la línea de comandos o terminal y escribe los siguientes comandos para instalar las bibliotecas necesarias:

  • pip install numpy
  • pip install opencv-python
  • pip install matplotlib
  • pip install tensorflow

🚀Carga del conjunto de datos mnist🚀

El siguiente paso es cargar el conjunto de datos MNIST. Afortunadamente, TensorFlow ya proporciona una función para cargar este conjunto de datos. En Python, escribiremos el siguiente código:

mnist = tf.keras.datasets.mnist
(x_train, y_train), (x_test, y_test) = mnist.load_data()

🔄Preprocesamiento de datos🔄

Antes de entrenar nuestra red neuronal, debemos realizar algunos pasos de preprocesamiento en los datos. El primer paso es normalizar los valores de los píxeles para que estén en un rango de 0 a 1. Esto facilita el cálculo para la red neuronal. En Python, escribiremos lo siguiente:

x_train = tf.keras.utils.normalize(x_train, axis=1)
x_test = tf.keras.utils.normalize(x_test, axis=1)

🧠Creación del modelo de red neuronal🧠

Es hora de construir nuestro modelo de red neuronal. Utilizaremos la biblioteca Keras de TensorFlow para esto. En Python, escribiremos el siguiente código:

model = tf.keras.models.Sequential()
model.add(tf.keras.layers.Flatten(input_shape=(28, 28)))
model.add(tf.keras.layers.Dense(128, activation='relu'))
model.add(tf.keras.layers.Dense(128, activation='relu'))
model.add(tf.keras.layers.Dense(10, activation='softmax'))

Este modelo consta de una capa de aplanamiento que convierte la imagen 2D en una matriz 1D, dos capas ocultas con una función de activación ReLU y una capa de salida con una función de activación softmax.

🔧Compilación y entrenamiento del modelo🔧

Una vez que hemos construido nuestro modelo, debemos compilarlo y entrenarlo con los datos de entrenamiento. Utilizaremos el optimizador 'adam' y la función de pérdida 'sparse_categorical_crossentropy'. En Python, escribiremos el siguiente código:

model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])
model.fit(x_train, y_train, epochs=3)

Esto compilará nuestro modelo y lo entrenará durante 3 épocas.

📊Evaluación del modelo📊

Después de entrenar el modelo, es hora de evaluar su rendimiento utilizando los datos de prueba. En Python, escribiremos el siguiente código:

loss, accuracy = model.evaluate(x_test, y_test)
print("Pérdida:", loss)
print("Precisión:", accuracy)

Esto imprimirá la pérdida y la precisión del modelo.

✍️Clasificación de dígitos escritos a mano✍️

Finalmente, podemos clasificar nuestros propios dígitos escritos a mano utilizando el modelo entrenado. Simplemente necesitamos cargar nuestras imágenes, invertirlas y pasarlas por el modelo para obtener la predicción. En Python, escribiremos el siguiente código:

import cv2
import numpy as np
import matplotlib.pyplot as plt

# Cargar imagen
image = cv2.imread("ruta/imagen.png", cv2.IMREAD_GRAYSCALE)

# Invertir imagen
image = np.invert(image)

# Hacer la predicción
prediction = model.predict(np.array([image]))

# Obtener el número predicho
predicted_number = np.argmax(prediction)

Esto cargará una imagen, la invertirá, la pasará por el modelo y obtendrá la predicción del número.

🔚Conclusiones🔚

En este Tutorial, hemos construido y entrenado una red neuronal para reconocer dígitos escritos a mano en Python. Además, también hemos visto cómo utilizar el modelo entrenado para clasificar nuestros propios dígitos escritos a mano. Espero que hayan disfrutado de este tutorial y les sea útil en sus proyectos de aprendizaje automático.

Resources:

Most people like

Are you spending too much time looking for ai tools?
App rating
4.9
AI Tools
100k+
Trusted Users
5000+
WHY YOU SHOULD CHOOSE TOOLIFY

TOOLIFY is the best ai tool source.