Usa tus modelos de Tensorflow en páginas web | Exportación a Tensorflow.js
Summary
TLDREl script del video ofrece una visión detallada sobre cómo exportar modelos de aprendizaje profundo entrenados en Python y utilizarlos en un navegador web. Se abordan tres modelos de distinto nivel de complejidad: un modelo simple que convierte grados Celsius a Fahrenheit, uno que reconoce números escritos a mano y permite dibujar en el navegador, y un modelo avanzado que utiliza la cámara del celular para clasificar en tiempo real si lo capturado es un perro o un gato. El video también explica el proceso de exportación de modelos desde Python, la instalación de librerías necesarias, la conversión de modelos a un formato compatible con TensorFlow.js, y cómo cargar y utilizar estos modelos en una página web para realizar predicciones. Además, se destaca la importancia de la integración con JavaScript para el manejo de entradas y la visualización de resultados, así como la adaptabilidad de estos modelos para su uso en dispositivos móviles.
Takeaways
- 📈 Se discute cómo exportar modelos entrenados en Python para utilizarlos en un navegador web y en dispositivos móviles.
- 🔢 Se explicará la integración de tres modelos de distinta complejidad: una red simple de conversión de temperatura, una red que reconoce números escritos a mano y una red avanzada para clasificar imágenes en tiempo real.
- 📚 No se profundiza en la arquitectura o los datos de entrenamiento de los modelos, sino en su exportación y uso.
- ⚙️ Se muestra el proceso de exportación de modelos utilizando la función `save` y su posterior conversión a un formato compatible con TensorFlow.js.
- 📂 Se menciona la instalación de la librería `tensor_js` para realizar la conversión de modelos y la creación de una carpeta para los archivos resultantes.
- 💾 Se describe cómo descargar los archivos necesarios para utilizar el modelo en la computadora y cómo integrarlos en una página web.
- 🌐 Se destaca la importancia de servir la página web a través de un servidor HTTP para evitar problemas de carga asíncrona.
- 📱 Se demuestra cómo hacer predicciones en tiempo real en el navegador utilizando un deslizador para ingresar los grados Celsius y obtener los grados Fahrenheit.
- 🎨 Se utiliza un canvas para dibujar números escritos a mano y se explica cómo preparar la entrada para la red neuronal convolucional.
- 📹 Se explora la creación de una aplicación que utiliza la cámara del móvil para clasificar en tiempo real si una imagen es de un perro o un gato.
- 🔗 Se ofrece información sobre cómo acceder a la página web desde un dispositivo móvil utilizando un túnel HTTPS y se mencionan las consideraciones para que funcione correctamente.
- 📝 Se invita a los espectadores a dejar comentarios si desean un análisis más detallado de algún aspecto del proceso o si tienen dudas.
Q & A
¿Qué modelos se van a exportar en el video?
-Se van a exportar tres modelos de distinta complejidad: uno que convierte grados Celsius a Fahrenheit, otro que reconoce números escritos a mano y un tercero avanzado que utiliza la cámara del celular para clasificar en tiempo real si lo que ve es un perro o un gato.
¿Cómo se guarda el modelo entrenado en Python?
-Para guardar el modelo entrenado, se utiliza la función 'save' que guarda todos los pesos y sesgos de la red, el estado del optimizador, etc. en un solo archivo con la extensión 'h5'.
¿Qué librería se necesita para convertir el modelo a un formato compatible con TensorFlow.js?
-Se necesita instalar la librería 'tensor_js' que incluye un conversor para realizar la conversión del modelo guardado en 'h5' a un formato compatible con TensorFlow.js.
¿Cómo se carga el modelo en una página web?
-Para cargar el modelo en una página web, se utiliza TensorFlow.js y se importan los archivos generados por el conversor. Se indica la ubicación del archivo 'json' y se carga el modelo en una variable llamada 'model'.
¿Cómo se puede hacer que la página web cargue el modelo de forma asíncrona?
-Para manejar la carga asíncrona del modelo, se puede abrir el archivo HTML desde un servidor web local, como el que se inicia con el comando 'python -m http.server 8000' en una terminal o línea de comandos.
¿Cómo se realiza la conversión de un número escrito a mano en una entrada que la red de reconocimiento de dígitos pueda entender?
-Se utiliza un canvas para dibujar el número y luego se copia la imagen a otro canvas de 28x28 píxeles que es el tamaño esperado por la red. Se convierte cada píxel en un valor de 0 a 1 y se agregan a un arreglo en forma de matriz 28x28.
¿Cómo se realiza una predicción en tiempo real con el modelo de clasificación de perros y gatos?
-Se utiliza la cámara del celular y se captura una imagen que se copia a un canvas del tamaño esperado por la red. Se crea un tensor de cuatro dimensiones con los datos de la imagen y se realiza la predicción. El resultado se muestra en un campo de resultados.
¿Qué formato de archivo se genera después de convertir el modelo con tensor_js?
-Después de la conversión, se generan varios archivos, incluyendo un archivo '.bin' y un archivo '.json', que son necesarios para utilizar el modelo en TensorFlow.js.
¿Cómo se puede hacer para que la página web sea accesible desde un dispositivo móvil?
-Para acceder a la página web desde un dispositivo móvil, se puede utilizar un servidor local iniciado con Python o configurar un túnel HTTPS usando herramientas como ngrok para exponer el servidor local en una URL accesible desde Internet.
¿Por qué se necesita normalizar los valores de píxeles al crear el tensor para la red de clasificación de perros y gatos?
-Los valores de píxeles se normalizan (por ejemplo, dividiendo entre 255) para convertirlos en un rango de 0 a 1, lo que es un requisito común para los modelos de redes neuronales convolucionales que esperan valores en este rango.
¿Cómo se puede redondear el resultado de la predicción para mejorar la presentación en la página web?
-Después de obtener el resultado de la predicción, se puede redondear el valor usando funciones matemáticas de redondeo para que la salida sea más agradable y tenga menos decimales.
¿Qué se debe tener en cuenta al utilizar la función 'predict' de TensorFlow.js?
-Es importante asegurarse de que el modelo esté completamente cargado y inicializado antes de realizar predicciones, ya que la carga del modelo es un proceso asíncrono que puede requerir tiempo.
Outlines
此内容仅限付费用户访问。 请升级后访问。
立即升级Mindmap
此内容仅限付费用户访问。 请升级后访问。
立即升级Keywords
此内容仅限付费用户访问。 请升级后访问。
立即升级Highlights
此内容仅限付费用户访问。 请升级后访问。
立即升级Transcripts
此内容仅限付费用户访问。 请升级后访问。
立即升级浏览更多相关视频
Modelos OSI y TCP (Explicado) Modelos Conceptuales
Cómo EMBEBER UN GPT en una página WEB [Tutorial paso a paso]
Modelacion Matemática - Introducción al Mundo de la Modelación
Procesos de software
Modelos económicos | Khan Academy en Español
Cómo crear un modelo mediante Ecuaciones Diferenciales, lenguaje de funciones y derivadas
5.0 / 5 (0 votes)