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

00:00

😀 Exportación de modelos de Python a JavaScript

Se discute cómo exportar modelos entrenados en Python y utilizarlos en un navegador web para realizar predicciones. Se explicará el proceso de exportación de tres modelos de distinta complejidad y cómo integrarlos en una página web. Incluye la conversión de grados Celsius a Fahrenheit en tiempo real, la identificación de números escritos a mano y la clasificación en tiempo real de imágenes de perros y gatos usando la cámara del móvil. Se menciona la necesidad de convertir el modelo a un formato compatible con TensorFlow.js y se proporciona un enlace para ver el código en vivo.

05:01

📈 Predicciones en tiempo real con modelos de aprendizaje profundo

Se describe el proceso de hacer predicciones en tiempo real en un navegador usando modelos de aprendizaje profundo. Se abordan los pasos para crear un tensor a partir de los grados Celsius, realizar la predicción y manejar la respuesta. Además, se explora cómo entrenar y usar redes neuronales convolucionales para predecir números escritos a mano, y cómo se puede dibujar y predecir el número en un canvas. Se menciona la utilización de la biblioteca Fabric.js y se destaca que el modelo funciona tanto en navegadores de escritorio como en móviles.

10:04

📱 Clasificación en tiempo real con la cámara del móvil

Se presenta un modelo de clasificación en tiempo real de imágenes capturadas por la cámara del móvil para distinguir entre perros y gatos. Se detalla cómo se prepara y se exporta el modelo, y cómo se carga y se utiliza en una página web. Se menciona la necesidad de un servidor para poder acceder a la cámara desde un dispositivo móvil y se sugiere la utilización dengrove para crear un túnel HTTPS. Finalmente, se muestra cómo se realiza la predicción y cómo se puede ajustar y mejorar el modelo según las necesidades.

Mindmap

Keywords

💡Exportar modelos

Exportar modelos se refiere al proceso de guardar y convertir una red neuronal entrenada para su uso posterior en diferentes plataformas. En el video, se discute cómo exportar modelos desde Python para utilizarlos en un navegador web, lo cual es fundamental para hacer predicciones en tiempo real.

💡TensorFlow.js

TensorFlow.js es una biblioteca de JavaScript desarrollada por Google que permite a los desarrolladores utilizar modelos de aprendizaje profundo directamente en el navegador o en Node.js. En el video, se utiliza TensorFlow.js para importar y ejecutar modelos de redes neuronales en una página web.

💡Conversión de modelos

La conversión de modelos es el proceso de transformar un modelo entrenado en un formato que pueda ser utilizado por otra plataforma o biblioteca. En el contexto del video, se menciona la necesidad de convertir un modelo guardado en formato '.h5' a un formato compatible con TensorFlow.js.

💡Redes neuronales convolucionales

Las redes neuronales convolucionales son una arquitectura de redes neuronales especialmente útil para el procesamiento de imágenes. Se utilizan para extraer características de los datos de entrada. En el video, se abordan modelos que utilizan redes convolucionales para clasificar imágenes y reconocer números escritos a mano.

💡Predicciones en tiempo real

Las predicciones en tiempo real implican la capacidad de un modelo de redes neuronales para proporcionar resultados inmediatos a partir de los datos de entrada. El video muestra cómo integrar modelos exportados en una página web para realizar predicciones en vivo, como convertir temperaturas o reconocer imágenes en tiempo real.

💡Código asincrónico

El código asincrónico se refiere a la ejecución de tareas en segundo plano mientras la aplicación principal continúa su funcionamiento. En el video, se destaca la importancia del manejo de código asincrónico al cargar modelos y realizar predicciones, ya que estas tareas pueden requerir tiempo y bloquear la interfaz de usuario si no se gestionan adecuadamente.

💡Tensor

Un tensor es una generalización de las matrices que puede tener varias dimensiones. En el contexto del aprendizaje profundo, los tensores son estructuras de datos que representan los datos de entrada, salida y los pesos de las redes neuronales. En el video, se menciona la creación de tensores para hacer predicciones en modelos de aprendizaje profundo.

💡Código HTML y JavaScript

El código HTML y JavaScript son lenguajes de programación fundamentales para la creación de páginas web interactivas. En el video, se utiliza HTML para estructurar la página y JavaScript para implementar la lógica de carga y predicción de modelos de aprendizaje profundo en el navegador.

💡Cámara del celular

La cámara del celular se utiliza en el video para capturar imágenes en tiempo real que luego son procesadas por un modelo de aprendizaje profundo para clasificar si lo capturado es un perro o un gato. Esto demuestra la integración de la tecnología de aprendizaje profundo con las capacidades de los dispositivos móviles modernos.

💡Clasificación de imágenes

La clasificación de imágenes es el proceso de identificar y categorizar objetos dentro de una imagen. En el video, se muestra cómo un modelo de aprendizaje profundo puede ser entrenado para distinguir entre imágenes de perros y gatos, y luego se utiliza este modelo para realizar predicciones en tiempo real usando la cámara del celular.

💡Integración de modelo en página web

La integración de un modelo en una página web implica la carga y ejecución de un modelo de aprendizaje profundo dentro de un entorno web. El video proporciona un tutorial sobre cómo hacerlo, desde la exportación del modelo hasta su uso en una página web con JavaScript, para que los usuarios finales puedan interactuar con el modelo y obtener predicciones.

Highlights

Exportaremos tres modelos de distinta complejidad para usar en una página web y hacer predicciones en tiempo real.

El primer modelo es una red simple que convierte grados Celsius a Fahrenheit en tiempo real.

El segundo modelo permite dibujar números escritos a mano y realizar predicciones a partir de ello.

El tercer modelo es avanzado, usando la cámara del celular para clasificar en tiempo real si lo que se ve es un perro o un gato.

Se explicará cómo exportar modelos desde Python y cómo importarlos y hacer predicciones en una página web con JavaScript.

Para exportar un modelo entrenado, se guarda con la función 'save', que almacena pesos, sesgos y el estado del optimizador en un archivo .h5.

Se necesita instalar la librería 'tensor_js' para convertir el modelo a un formato compatible con TensorFlow.js.

Los modelos se pueden cargar en una página web y utilizarse para hacer predicciones interactivas.

Se utiliza un deslizador para ingresar los grados Celsius y se muestra la predicción en Fahrenheit de manera visual.

El segundo modelo utiliza redes neuronales convolucionales para predecir números escritos a mano.

Se utiliza una biblioteca JavaScript para interactuar con un canvas y permitir dibujar números.

El tercer modelo es capaz de clasificar imágenes en tiempo real usando la cámara del celular.

Se abordan técnicas para visualizar y utilizar la cámara web en una página web para hacer predicciones.

Se discuten los desafíos y soluciones para hacer que la página web sea accesible desde dispositivos móviles.

Se ofrecen enlaces y recursos para probar los modelos en vivo y acceder al código fuente.

Se destaca la importancia de la conversión de modelos a formatos compatibles con diferentes entornos de ejecución.

Se agradece a la comunidad por el apoyo en la creación de contenido de inteligencia artificial en español.

Se animará a los espectadores a dejar comentarios y preguntas para mejorar y profundizar en los temas tratados.

Transcripts

play00:00

hoy veremos cómo exportar modelos

play00:01

entrenados e intensos prokom python e

play00:03

importarlos entonces rojo te dice para

play00:05

poder usarlos en el explorador y para

play00:07

ver que realmente funciona exportaremos

play00:09

tres modelos de distinta complejidad y

play00:11

te explicaré cómo importarlos e

play00:12

integrarlos en una página web para poder

play00:14

hacer predicciones el primero ser una

play00:16

red simple que convierte grados celsius

play00:18

y fahrenheit en tiempo real

play00:21

el segundo ser una red que entiendan

play00:22

números escritos a mano y podremos

play00:24

dibujar en el explorador

play00:26

y el tercero es el más avanzado ya que

play00:28

usaremos la cámara del celular para

play00:30

clasificar en tiempo real y a color si

play00:32

lo que ve es un perro o un gato este

play00:34

vídeo estará enfocado en cómo exportar

play00:36

los modelos desde python y en cómo

play00:38

importarlos y hacer predicciones en una

play00:39

página web con javascript por lo tanto

play00:42

no explicaré con tanto detalle los

play00:43

modelos que vamos a usar sus datos de

play00:45

entrenamiento modelo arquitectura

play00:46

etcétera como normalmente hago eso lo

play00:48

dejo para otros vídeos pero si ves algo

play00:50

aquí que te gustaría que explique a

play00:51

detalle por favor déjame un comentario y

play00:53

con gusto algún vídeo para eso

play00:54

comencemos viendo de manera general el

play00:56

proceso con python y tensor pero

play00:58

normalmente diseñamos y entrenamos los

play01:00

modelos ese entrenamiento es el que toma

play01:02

tiempo pero una vez teniendo la red

play01:04

entrenada podemos exportar la para

play01:06

importarla y usarla en un explorador o

play01:08

en un celular y hacer predicciones

play01:09

bastante rápido comencemos con una red

play01:12

simple que convierte grados celsius y

play01:14

fahrenheit si quiere saber cómo funciona

play01:16

y cómo hacerla desde cero te debe

play01:17

aparecer en pantalla el vídeo donde lo

play01:19

hacemos lo haremos con este cola la liga

play01:21

está en la descripción del vídeo al

play01:23

inicio está la configuración y

play01:24

entrenamiento regular de la red al final

play01:27

la red puede recibir los grados celsius

play01:28

y nos predice el resultado en fahrenheit

play01:31

para exportarla debemos seguir varios

play01:33

pasos primero que nada guardemos el

play01:35

modelo entrenado con la función save hay

play01:38

varias formas de guardar el estado de

play01:39

una red pero esta en específico guarda

play01:41

todos los pesos y sesgos de la red el

play01:43

estado del optimizador etcétera todo en

play01:45

un solo archivo con la extensión

play01:46

h5 con la trabaja sobre el link o si

play01:49

podemos ejecutar comandos de linux

play01:50

usando el signo de admiración por

play01:52

ejemplo podemos escribir el comando ls y

play01:54

nos lista el contenido del directorio

play01:55

actual

play01:56

ahí está el archivo que acabamos de

play01:58

crear para usarlo con tensor flow js

play02:00

debemos convertirlo a otro formato para

play02:03

eso necesitamos instalar la librería de

play02:05

payton llamada dentro del robot a s

play02:07

la cual tiene el conversor instalemos la

play02:09

librería con pib install tensor js

play02:12

recordando agregar el signo de

play02:13

admiración

play02:15

una vez que está instalada ya podemos

play02:17

hacer la conversión al hacerlo se van a

play02:19

generar varios archivos así que primero

play02:21

creamos una carpeta donde se colocarán

play02:23

los resultados de la conversión

play02:25

ahora ejecutamos el programa de

play02:27

conversión

play02:29

escribamos este comando en su flujo

play02:31

tae-se jong bajo convertir le indicamos

play02:34

que el formato es de quieras les decimos

play02:37

el nombre del archivo

play02:39

y la carpeta de salida

play02:42

y lo ejecutamos

play02:45

una vez que terminó list hemos el

play02:47

contenido de la carpeta de salida

play02:49

[Música]

play02:52

podemos ver que generó dos archivos

play02:55

el siguiente paso es bajar los archivos

play02:57

a nuestra computadora para hacerlo en

play02:59

cola puedes ver del lado izquierdo

play03:01

algunos iconos da clic en el icono de la

play03:03

carpeta y se expandirá una sección en

play03:06

donde podremos ver los archivos de cola

play03:07

entre ellos la carpeta de salida si no

play03:10

te parece solo espera un poco a que se

play03:12

actualice expande la carpeta de salida y

play03:14

utiliza los tres puntos para descargar

play03:16

el archivo bin y el archivo jason a tu

play03:18

computadora

play03:20

y listo ya tenemos el modelo en nuestra

play03:22

computadora ahora veamos cómo agregarlo

play03:24

a una página para hacer predicciones

play03:25

esta página que voy a hacer puedes verla

play03:27

en vivo y probarla en esta liga y el

play03:29

código está en hip hop todo es tan la

play03:31

descripción del vídeo

play03:33

para usar tensor la fota es el primero

play03:35

debemos importar la librería de

play03:37

javascript

play03:39

ahora agreguemos este pedazo de código

play03:43

con esto le indicamos en dónde está el

play03:45

archivo jason y guardamos el modelo

play03:47

cargado en una variable llamada modelo

play03:49

el código es así por ser asíncrono

play03:52

si ahorita lo probamos tenemos un

play03:54

problema para cargar el modelo no

play03:56

podemos abrir nuestro html desde la

play03:58

carpeta directamente debe ser con http

play04:01

una forma fácil de hacerlo es teniendo

play04:03

python instalado en la computadora abrir

play04:05

una terminal o línea de comando navega a

play04:08

la carpeta con los archivos y escribir

play04:10

python inm

play04:12

http punto server 8000

play04:14

y en el explorador escribir localhost

play04:16

dos puntos ocho mil y el nombre del

play04:18

archivo

play04:23

listo el modelo ya está cargado ahora

play04:26

sigue utilizarlo para indicar los grados

play04:29

celsius podría poner un campo de texto

play04:31

pero usaré un deslizador para que se vea

play04:32

más guapo el deslizador usar el evento

play04:35

on input que se llama cada vez que

play04:37

cambia el valor y llamaré una función

play04:39

donde haremos la predicción

play04:42

en la función tomamos el valor del

play04:44

deslizador como los grados celsius es

play04:47

necesario confirmar que el modelo ya

play04:48

está inicializa dow ya que al cargarse

play04:50

de forma asíncrona puede que siga

play04:51

procesando

play04:53

para hacer predicciones tensor flojo

play04:55

está ahí se requiere que le demos como

play04:56

entrada un tensor quizá en otro vídeo

play04:59

los explique pero para este ejemplo es

play05:00

muy simple tenemos solamente un dato los

play05:03

grados celsius entonces crearemos un

play05:05

tensor de una dimensión y como parámetro

play05:07

le daremos los grados celsius dentro de

play05:09

una regla ahí es importante convertirlo

play05:11

en número para que no llegue como texto

play05:14

ahora podemos hacer la predicción

play05:16

llamamos a la función predictor

play05:19

le damos el tensor y usamos data think

play05:22

para que se espere que termine la

play05:23

predicción antes de continuar

play05:25

voy a redondear la predicción solo para

play05:28

hacer la salida más agradable y que no

play05:29

tenga muchos datos decimales ahora en un

play05:32

dip con haití resultado pondré el texto

play05:34

indicando los celsius de entrada y la

play05:36

predicción

play05:39

y listo ya está haciendo la predicción

play05:41

en tiempo real totalmente en el

play05:42

explorador

play05:44

excelente

play05:46

y funciona en el celular

play05:48

[Aplausos]

play05:49

ahora pasemos al siguiente con el cual

play05:51

podremos dibujar y nos dirá qué número

play05:53

cree que es al igual que la anterior el

play05:55

color estará en la descripción del vídeo

play05:56

este entrenamiento usas redes neuronales

play05:59

convolución a leds para predecir números

play06:01

escritos a mano la entrada a esta red no

play06:03

es un simple números en una imagen de 28

play06:05

por 28 píxeles con un solo canal para

play06:08

blanco y negro en cuanto a su mami

play06:10

vídeos de explicación de redes

play06:11

neuronales convolución a les aparecerá

play06:12

en pantalla y en la descripción sin

play06:15

embargo no es necesario que las conozcas

play06:17

para seguir el vídeo ya que no nos

play06:18

estamos metiendo con el entrenamiento

play06:20

dejando eso de lado todo es muy similar

play06:22

entremos al collage ejecutamos el script

play06:25

que hace todo el entrenamiento y al

play06:26

terminar hacemos exactamente lo mismo

play06:32

guardamos el modelo

play06:34

[Música]

play06:37

convertimos

play06:48

descargamos

play06:53

e importamos el modelo ahora aparece la

play06:56

predicción se pone interesante y aquí si

play06:58

se te facilitará si ya conoces algo de

play06:59

html y javascript lo puedes ver en vivo

play07:02

en esta liga y el código estará también

play07:03

en dijo

play07:04

[Música]

play07:05

primero agrega un canvas grande para

play07:07

dibujar de manera simple pero como la

play07:09

red espera una entrada de 28 por 28

play07:11

agregó otro canvas pequeño en donde

play07:14

copiaremos la imagen para hacer la

play07:15

predicción

play07:17

usaré la librería fabric js para

play07:20

convertir el canvas en un lugar para

play07:21

dibujar y agregaré un botón para limpiar

play07:23

el canvas y uno para hacer la predicción

play07:25

al dar clic en predecir lo primero que

play07:27

quiero es copiar el dibujo grande al

play07:29

canvas de 28 x 28 para eso uso esta

play07:32

función que me robe de internet aunque

play07:33

le tengo que ajustar un poco y con eso

play07:35

queda listo

play07:37

además esconder este canvas para que no

play07:38

se vean

play07:42

ahora tomo todos los píxeles del canvas

play07:44

pequeño y lo reviso uno por uno como

play07:47

esta re trabaja con blanco y negro por

play07:48

cada pixel tomo sólo el valor del alfa

play07:50

que es un número entre 0 y 255 lo divido

play07:54

entre 255 para que sea un valor de 0 a 1

play07:56

es decir lo normal hizo y lo agrego a un

play07:59

arreglo como esta red no espera a 784

play08:02

píxeles seguidos sino en forma cuadrada

play08:04

de 28 x 28 cada vez que junto 28 píxeles

play08:08

lo agrego a otro arreglo y lo limpio al

play08:10

final esta variable art tiene los

play08:12

píxeles en el formato que necesitamos si

play08:15

quieres más detalle déjame un comentario

play08:16

con gusto lo revisamos a diferencia de

play08:19

la anterior

play08:19

aquí el tensor tiene cuatro dimensiones

play08:21

pero ya hicimos el trabajo difícil así

play08:23

que podemos enviar el arreglo directo y

play08:25

crear el tensor la predicción se hace

play08:28

igual

play08:28

[Música]

play08:31

la primera red que hicimos fue de

play08:33

regresión esta es de clasificación por

play08:35

lo que responde con un arreglo de 10

play08:37

posiciones y podemos ver qué posición

play08:39

tiene el número más grande para saber

play08:41

cuál es la predicción lo que tengo con

play08:43

este código y lo pongo en el campo de

play08:44

resultado

play08:49

y listo

play08:52

y funciona en el celular

play08:54

[Aplausos]

play08:56

[Música]

play09:00

ahora veamos el último un clasificador

play09:02

de perros y gatos en tiempo real

play09:04

utilizando la cámara del celular antes

play09:06

de continuar de nuevo si te maree un

play09:07

poquito la implementación del proyecto

play09:09

anterior

play09:09

no te preocupes estos proyectos son solo

play09:11

para comprobar que funciona la

play09:13

importación y cómo aplicarla y ya puedes

play09:15

tú revisar el código fuente a tu gusto

play09:16

solo no quería dejarlo como otros vídeos

play09:18

que nadamás exportan y punto pero si te

play09:20

interesa por ejemplo este los números

play09:22

que acabamos de hacer déjame un

play09:23

comentario con gusto lo hago paso a paso

play09:24

y sobre todo porque este que sigue es

play09:26

más complejo y también lo voy a ver nada

play09:28

más a grandes rasgos aquí tenemos una

play09:30

red neuronal convolución al entrenada

play09:32

con imágenes a color es decir con tres

play09:34

canales y cada imagen es de 150 por

play09:37

ciento 50 píxeles al final clasifica si

play09:39

es un perro o un gato el color está en

play09:42

la descripción del vídeo este se tardó

play09:44

un rato en entrenar así que pica la ive

play09:46

por un café la exportación es igualita

play09:48

así que mientras la hago agradezco de

play09:50

corazón a misma escena superiores por

play09:52

hacer posible este vídeo si te gustaría

play09:54

apoyarme para seguir generando

play09:54

información de inteligencia artificial

play09:56

en español y de manera fácil y accesible

play09:58

dejaré la liga de mi petro en la

play10:00

descripción del vídeo nuevamente gracias

play10:04

muy bien ya tenemos los archivos en

play10:05

nuestra computadora esta vez genera

play10:07

cuatro archivos bin pero lo demás es

play10:09

igual

play10:10

ahora esta página necesita no sólo

play10:12

cargar el modelo sino tener un tag de

play10:14

vídeo y agregar el código para cargar y

play10:16

ver la cámara web aquí tengo que hacer

play10:19

un paréntesis verme con la cámara web de

play10:21

la computadora no me sirve de mucho

play10:22

quiero abrirlo en el celular para poder

play10:24

moverme y hacer predicciones para esto

play10:26

revisó la ip local de mi computadora y

play10:28

me conecto con el celular sin embargo me

play10:30

topo con un problema si quiero ver la

play10:32

cámara web en el celular necesito que mi

play10:33

sitio tenga http es la forma más fácil

play10:36

que conozco de hacer un túnel https es

play10:39

con en ground si quieres meterte detalle

play10:42

de cómo funciona adelante pero lo único

play10:44

que tienes que hacer para este vídeo es

play10:45

lo siguiente entra a la página de en

play10:48

grove

play10:48

baja no olvides con 1er

play10:50

[Música]

play10:54

abre una línea de comando y navega donde

play10:56

está en grow escribe en group http 8000

play11:03

con eso en gran nos dará un enlace https

play11:06

que podemos entrar desde internet ni

play11:07

siquiera tenemos que estar en la red

play11:09

local es importante tener los dos

play11:11

levantados el túnel de rog y el servidor

play11:13

de payton en el port 8000 en la carpeta

play11:15

con otros archivos siempre con el

play11:18

celular ya funciona

play11:19

[Aplausos]

play11:21

pero bueno estas son cosas medio

play11:22

avanzadas si no quieres batallar puedes

play11:24

probarlo en esta liga que tengo en vivo

play11:27

el proceso será similar con una función

play11:30

de predicción que se llamará

play11:31

constantemente copiaremos la imagen del

play11:33

vídeo de la cámara web a un canvas

play11:35

copiaremos la imagen después al canvas

play11:37

de 150 x 150 píxeles que es el tamaño

play11:40

que espera la red

play11:41

en este caso el arreglo será de 150 en

play11:43

lugar de 28 y usaremos los tres canales

play11:45

rojo verde y azul normalizados

play11:49

el tensor que generamos para la

play11:51

predicción también será de cuatro

play11:53

dimensiones y al recibir el resultado

play11:54

solo revisamos y predice cero para gato

play11:57

o uno para perro y lo colocamos en un

play12:00

campo de resultados aquí si pongo mi

play12:02

carácter es que soy un perro pero bueno

play12:04

se podemos discutirlo después en mi casa

play12:06

tengo tres perros pero no tengo gatos

play12:08

entonces buscar imágenes en internet

play12:09

para probar

play12:11

y armas

play12:13

[Música]

play12:17

y también funciona con algunos dibujos

play12:24

ahora este no es el clasificador del

play12:26

futuro está entrenado solo como mil

play12:28

imágenes de perros y de gatos entonces

play12:30

tampoco tenemos que si no predice muy

play12:31

bien pero bueno esto es para fines

play12:32

ilustrativos

play12:35

ahora ya sabes exportar modelos de

play12:37

tensores luego de ser pelota ese y

play12:39

espero que con estos tres proyectos de

play12:40

ideas etcétera de cosas que podéis hacer

play12:42

y vayas te diviertas y experimentos

play12:44

revise el código déjame tus dudas y si

play12:46

viste algo aquí que te gustaría que

play12:47

entre detalle en otro vídeo por favor

play12:48

dejen un comentario hasta pronto

play12:52

[Música]

play12:53

[Aplausos]

play12:57

[Música]

Rate This

5.0 / 5 (0 votes)

Related Tags
IntegraciónIAPrediccionesPythonTensorFlowWebCódigoJavaScriptRedesCelsiusFahrenheitConvolutionalClasificaciónReal-timeCámaraCelularPerrosGatos
Do you need a summary in English?