Usa tus modelos de Tensorflow en páginas web | Exportación a Tensorflow.js

Ringa Tech
28 Jul 202113:01

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

plate

Dieser Bereich ist nur für Premium-Benutzer verfügbar. Bitte führen Sie ein Upgrade durch, um auf diesen Abschnitt zuzugreifen.

Upgrade durchführen

Mindmap

plate

Dieser Bereich ist nur für Premium-Benutzer verfügbar. Bitte führen Sie ein Upgrade durch, um auf diesen Abschnitt zuzugreifen.

Upgrade durchführen

Keywords

plate

Dieser Bereich ist nur für Premium-Benutzer verfügbar. Bitte führen Sie ein Upgrade durch, um auf diesen Abschnitt zuzugreifen.

Upgrade durchführen

Highlights

plate

Dieser Bereich ist nur für Premium-Benutzer verfügbar. Bitte führen Sie ein Upgrade durch, um auf diesen Abschnitt zuzugreifen.

Upgrade durchführen

Transcripts

plate

Dieser Bereich ist nur für Premium-Benutzer verfügbar. Bitte führen Sie ein Upgrade durch, um auf diesen Abschnitt zuzugreifen.

Upgrade durchführen
Rate This

5.0 / 5 (0 votes)

Ähnliche Tags
IntegraciónIAPrediccionesPythonTensorFlowWebCódigoJavaScriptRedesCelsiusFahrenheitConvolutionalClasificaciónReal-timeCámaraCelularPerrosGatos
Benötigen Sie eine Zusammenfassung auf Englisch?