Entender el concepto de Red Neuronal y Aprendizaje Profundo

1

Redes Neuronales: Construcción en TensorFlow JS

2

Redes Neuronales: Fundamentos y Aplicaciones Básicas

3

Algoritmos de Aprendizaje Profundo: Redes Neuronales Avanzadas

Conocer qué es TensorFlow y TensorFlow.js

4

TensorFlow para Principiantes: De Tensor a Modelos Predictivos

5

TensorFlow JS: Aprendizaje Automático en el Navegador

6

Creación de Modelos TensorFlow JS en Navegadores

Entender cuáles son los componentes básicos de una Red Neuronal y cómo entrenarla

7

Creación de modelos con TensorFlow JS usando API de Layers

8

Entrenamiento de Modelos con TensorFlow JS y Layers API

9

Funcionamiento de una puerta XOR con redes neuronales en JavaScript

10

Almacenamiento de Modelos en TensorFlow JS

Entender cual es la forma común de utilizar un modelo de Red Neuronal

11

Optimización de Modelos TensorFlow JS para Navegadores

12

Uso de Modelos Preentrenados en Machine Learning

13

Transferencia de Aprendizaje: Modelos Preentrenados en Visualización

Diseñar un modelo de Regresión Lineal

14

Regresión Lineal con TensorFlow JS: Predicción y Modelado

15

Entrenamiento de modelos de regresión lineal con TensorFlow JS

16

Normalización de Datos para Redes Neuronales en TensorFlow

17

Programación de un botón para guardar modelos de regresión en HTML

Crear una aplicación en JavaScript que utilice un modelo de clasificación de Imágenes

18

Clasificación de Imágenes con Redes Neuronales y Transferencia de Conocimiento

19

Clasificación de Imágenes con Transferencia de Conocimiento

20

Transferencia de Conocimiento en Modelos TensorFlow

Conclusión

21

Entrenamiento de Modelos con TensorFlow JS en el Navegador

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Curso de TensorFlow.js

Curso de TensorFlow.js

Alejandro Santamaria

Alejandro Santamaria

Almacenamiento de Modelos en TensorFlow JS

10/21
Recursos

¿Cómo se almacena un modelo entrenado de machine learning?

Uno de los aspectos más cruciales tras entrenar un modelo de machine learning es poder resguardar y compartir nuestro trabajo. Esto no solo nos ahorra tiempo en futuros proyectos, sino que nos permite integrar nuestros modelos en distintas plataformas y dispositivos. Aquí exploramos cómo almacenar, compartir y reutilizar módulos usando TensorFlow JS.

¿Por qué es crucial almacenar modelos?

Guardamos modelos entrenados para no perder el arduo trabajo y los recursos invertidos. El almacenamiento no solo nos permite recuperar este progreso, sino también utilizar el modelo en diversas plataformas como teléfonos móviles, navegadores web, desktops o servidores. Además, ciertos dispositivos o aplicaciones podrían requerir formatos específicos, como TensorFlow Lite, el cual podría necesitar una traducción del modelo original.

¿Cuáles son los formatos de almacenamiento disponibles?

Usamos principalmente dos formatos para guardar modelos de aprendizaje automático:

  • JSON: Un formato legible por humanos que detalla cada capa y sus componentes dentro del modelo.
  • Binario: Para almacenar los "pesos", configurados durante el entrenamiento, en un formato optimizado para manejar grandes volúmenes de datos.

¿Cómo se utilizan las API de abstracción elevada?

TensorFlow JS nos ofrece la posibilidad de guardar tanto la topología como los pesos del modelo de forma sencilla a través de la API de layers. Para esto, se utiliza:

model.save('esquemaURL');

Según el esquema de URL, puedes elegir entre distintas opciones de almacenamiento:

  • Local Storage: Almacenamiento en el navegador, vinculado a la sesión del usuario.
  • IndexedDB: Un almacenamiento más avanzado que permite modelos más grandes, pero sigue siendo específico del navegador.
  • Downloads: Guarda archivos localmente en la carpeta de descargas del sistema operativo del usuario.
  • HTTP/HTTPS: Permite subir el modelo a una dirección específica configurada en un servidor.
  • File (Node.js): Almacena modelos en el sistema de archivos del servidor que corre Node.js. Esta opción es particularmente útil para entornos fuera del navegador.

¿Cómo reutilizar modelos almacenados?

Una vez almacenado, cargar un modelo es fácil siempre que se haya usado la API de layers. Por ejemplo, para cargarlo desde local storage:

model = await tf.loadLayersModel('localstorage://nombreModelo');

Esta flexibilidad es clave para hacer pruebas, realizar experimentos o reutilizar modelos previamente entrenados sin problemas.

¿Es posible interoperar modelos de diferentes plataformas?

Aunque el tema se mencionará más detalladamente en otros cursos, es viable cargar modelos creados con Keras o TensorFlow genérico. La documentación de TensorFlow JS proporciona guías prácticas para realizar las traducciones necesarias.

¿Dónde encontrar ejemplos y seguir aprendiendo?

Como parte de la tarea, se recomienda explorar repositorios entrenados para TensorFlow JS. A través de esta práctica, puedes familiarizarte mejor con las diferentes estrategias de almacenamiento y reutilización de modelos. Busca en la documentación y comparte tus hallazgos en los comentarios del curso para interactuar y verificar tus conocimientos.

La comprensión y el uso eficaz de estas técnicas son fundamentales para el éxito continuo en el campo de machine learning. ¡Sigue experimentando y aprendiendo!

Aportes 5

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Reto

  • Para importar modelos de Tensorflow y Keras se deben seguir los siguientes pasos (fuente):

    • Instalar el convertidor
    pip install tensorflowjs
    
    • Para tensorflow utilizar el comando tensorflowjs_converter indicando los parámetros según el tipo de modelo a importar:
      • input_path: ruta donde está el modelo de tensorflow
      • output_path: ruta donde se guardará el modelo para tensorflow.js
      • –input_format: tipo de modelo de tensorflow que se está importando
      • –output_node_names: nombre de los nodos de salida separados por coma
      • –saved_model_tags: nombre de las etiquetas del modelo a cargar separados por coma (sólo aplica para modelos de tipo SavedModel)
    • Para keras utilizar el comando tensorflowjs_converter indicando los parámetros necesarios para indicar que se trata de un modelo que proviene de Keras:
      • –input_format: keras
      • input_path: ruta del modelo a importar
      • output_path: ruta donde se guardará el modelo para tensorflow.js

Formatos para el almacenamiento

  • JSON: para las capas neuronales y sus componentes.
  • Formato binario: para los pesos y bias que se configuran en el entrenamiento. Se guarda en este formato porque es la manera más óptima de almacenar grandes cantidades de datos.
  • El modelo es guardado con model.save()

Esquemas de url

  • localstorage:// → almacenamiento particular del navegador asociado a la sesión de usuario dentro de la página web.
  • indexeddb:// → para modelos más grandes que localstorage e igualmente asociados al navegador.
  • downloads:// → descarga los archivos binarios y el JSON
  • h t t p : / / h t t p s : //→ envia un post a la dirección especificada donde se guardará el modelo (se debe tener configurado ese servidor).
  • file:// →usada únicamente con nodejs para guardar el modelo en el sistema de archivos del servidor.

Me gusta el curso, pero se nos ha vuelto muy teórico. Aun ni siquiera sé instalar Tensorflow.js en mi máquina, o de forma local.

![](https://static.platzi.com/media/user_upload/imagen-751d9c09-d79f-46e5-94fe-d36d036a6cab.jpg) Ejemplo de cómo cargar un modelo keras con TF.js

Esquemas url (schemes)

- localstorage:// > Es unalmacenamiento en particular del navegador y que esta sociado a la sesion del usuario dentro de esa pagina web.
- indexddb:// > Es una forma de almacenamiento mucho mas avanzada y que permite almacenar modelos un poco mas grandes que localstorage, pero que igual esta asociado al navegador.
- downloads:// > Cuando utilizamos este esquema, el navegador pedira que si queremos guardar dos archivos en la carpeta de Downloads. Un archivos .json para la topologia y un archivo .bin para el peso de la red neuronal.
- http:// https:// > Envia un post a una direccion configurada donde se almacenara ese modelo. Debemos tener configurado un servidor en esa direccion que pueda almacenar ese modelo para un uso futuro.
- file:// > Se puede utilizar unicamente con Node.js para guardar el modelo en el sistema de archivos donde esta ese servidor.