Experimento 1
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
Conversión de grados celsius a fahrenheit
Es una red neuronal simple, creada con código python en Colab utilizando bibliotecas de Tensorflow y la api de Keras
Por lo que he podido analizar, creo que valdría para cualquier dato que sea una función lineal o nube de datos que se pueda estudiar con regresión lineal
He probado con una función parabólica inventada y no predice bien, aunque el set de datos que he usado para el entrenamiento solo son 5 pares de datos:
celsius = np.array([-1, -3.46, 2.75, 1.46, 0.42], dtype=float)
fahrenheit = np.array([0, 6.05, 14.03, 6.03, 2.02], dtype=float)
El modelo se programa y se entrena, luego se exporta a un fichero .h5 y se convierte, en este caso a .bin compatible con Tensorflow.js para poder usarlo en web con javascript y Tensorflow.js
En mi caso son dos ficheros bastante pequeños: un .bin de 88 bytes y un .json de 2.45 kBytes
Detalles de las pruebas con dos modelos de red neuronal:
Una sola capa con una neurona: capa=tf.keras.layers.Dense(units=1, input_shape=[1]) modelo=tf.keras.Sequential([capa])Otra con dos capas intermedias adicionales con tres neuronas cada una: oculta1 = tf.keras.layers.Dense(units=3, input_shape=[1]) oculta2 = tf.keras.layers.Dense(units=3) salida = tf.keras.layers.Dense(units=1) modelo = tf.keras.Sequential([oculta1, oculta2, salida]) Nota: La capa de entrada se autoregistra con el parámetro "input_shape"