Experimento 2

CERRANDO EL CÍRCULO...

... crear la red neuronal "a mano", entrenarlo con mis datos, poder exportar el modelo a un archivo/s independiente para luego usarlo en otro sitio

Reconocimiento de números escritos a mano utilizando Tensorflow.js

Dibujar el número grandecito y centrado. Solo un número de 0 a 9


Aquí para el entrenamiento se usa base de datos MNIST y aplicando la técnica de "Aumento de datos" para ampliar la variabilidad de los simbolos

El modelo aquí es una red convolucional porque es para analizar imágenes:

La primera capa de la red neuronal será de tipo convolucional, con 32 nucleos
de 3x3 cada uno. La entrada de 28x28 px con 1 canal y la función activación RELU
Se agrega capa de agrupación máxima de 2x2 (matriz de 2x2)
Se agregan dos capas más: una de convolución con 64 filtros y otra agrupación máxima


modelo = tf.keras.models.Sequential([
tf.keras.layers.Conv2D(32, (3,3), activation='relu', input_shape=(28, 28, 1)),
tf.keras.layers.MaxPooling2D(2, 2),
tf.keras.layers.Conv2D(64, (3,3), activation='relu'),
tf.keras.layers.MaxPooling2D(2,2),

También se añade una capa de salida regular con activación SOFTMAX (es requerida para redes de clasificación)

tf.keras.layers.Dropout(0.5),
tf.keras.layers.Flatten(),
tf.keras.layers.Dense(100, activation='relu'),
tf.keras.layers.Dense(10, activation="softmax")

Y se usa una técnica que se llama DROPOUT que sirve para apagar aleatoriamente algunas neuronas, dice que mejora la red evitando que haya conexiones muy fuertes y otras demasiado débiles. O algo así.