Entender el concepto de Red Neuronal y Aprendizaje Profundo

1

TensorFlow JS: Introducción y Creación de Modelos Básicos

2

Fundamentos de Redes Neuronales y Aprendizaje de Máquina

3

Aprendizaje Profundo: Redes Neuronales y Back Propagation

Conocer qué es TensorFlow y TensorFlow.js

4

Introducción a TensorFlow y TensorFlow JS: Creación de Redes Neuronales

5

Introducción a TensorFlow JS para Aplicaciones Web

6

Aprendizaje de Máquina en el Navegador con TensorFlow JS

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 API de Layers

9

Entrenamiento de Redes Neuronales en Navegadores Web

10

Almacenamiento y Carga de Modelos en TensorFlow JS

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

11

Optimización de Modelos de Aprendizaje en TensorFlow JS

12

Utilización de Modelos de Aprendizaje de Máquina: Pasos Clave

13

Transferencia de Aprendizaje en Modelos Preentrenados

Diseñar un modelo de Regresión Lineal

14

Programación de Modelos de Regresión Lineal con TensorFlow JS

15

Regresión Lineal con TensorFlow JS: Creación y Visualización de Modelos

16

Normalización de Datos para Redes Neuronales con TensorFlow

17

Guardado y carga de modelos de regresión en HTML y JavaScript

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

18

Diseño de Modelos de Clasificación de Imágenes

19

Uso de MobileNet y TensorFlow JS para Clasificación de Imágenes

20

Transferencia de Conocimiento en TensorFlow para Clasificación de Imágenes

Conclusión

21

Resumen Final del Curso de TensorFlow JS

Crea una cuenta o inicia sesión

¡Continúa aprendiendo sin ningún costo! Únete y comienza a potenciar tu carrera

Curso de TensorFlow.js

Curso de TensorFlow.js

Alejandro Santamaria

Alejandro Santamaria

Introducción a TensorFlow JS para Aplicaciones Web

5/21
Recursos

¿Qué es TensorFlow JS?

TensorFlow JS abre un emocionante mundo de posibilidades para integrar aprendizaje de máquina directamente en aplicaciones web. Este poderoso framework permite a los desarrolladores implementar modelos de inteligencia artificial en navegadores, democratizando así el acceso y uso de estas tecnologías avanzadas.

¿Cuáles son las diferencias entre TensorFlow y TensorFlow JS?

La principal diferencia radica en la accesibilidad y el entorno de ejecución:

  • Acceso en Aplicaciones Web: Con TensorFlow JS puedes agregar aprendizaje de máquina a cualquier aplicación web, haciéndola accesible desde cualquier navegador.

  • Entrenamiento en Navegadores o Servidores: Puedes entrenar modelos directamente en el navegador o en servidores utilizando Node.js. Utilizar Node te permite acceder a recursos más avanzados, como los procesadores gráficos, lo cual es crucial para mejorar el rendimiento en comparación con la limitación de recursos de un navegador.

¿Cómo se optimiza el rendimiento en TensorFlow JS?

Para obtener el máximo potencial de TensorFlow JS, considera las siguientes prácticas:

  • Gestión de Memoria: A diferencia de JavaScript convencional, donde la recolección de basura se maneja automáticamente, en TensorFlow JS es importante gestionar manualmente las variables con tf.tidy(), evitando así fugas de memoria que puedan ralentizar la aplicación.

  • Monitoreo de Desempeño: Utiliza las funciones integradas de medición de performance para monitorear y mejorar el rendimiento de tus aplicaciones, asegurándote de que no haya errores que afecten la eficiencia.

  • Uso de Backends Optimizados: Para un rendimiento óptimo, emplea backends como WebAssembly, que proporciona un ensamblador más eficiente que el CPU tradicional.

¿Qué jerarquía sigue TensorFlow JS?

TensorFlow JS sigue una estructura jerárquica clara, que consta de:

  • Tensores: Son los datos sobre los cuales se aplican operaciones y se miden métricas.
  • Modelos: Compuestos por capas, en TensorFlow JS conocidas como 'layers', y el entrenamiento que utiliza la clase 'training'.
  • Objetos Externos: Elementos que ayudan a la visualización y performance, necesarios para medir el acercamiento al aprendizaje deseado.
  • Clases de Navegador: Facilitan el acceso a capacidades como video o imágenes. Estos son datos iniciales comunes para modelos de aprendizaje.

¿Qué aspectos de compatibilidad ofrece TensorFlow JS?

TensorFlow JS es versátil, operando en una variedad de entornos como navegadores de escritorio o móviles. Esta compatibilidad amplia asegura que las aplicaciones desarrolladas pueden ser implementadas y utilizadas en múltiples plataformas sin inconvenientes.

Recomendaciones para empezar con TensorFlow JS

  1. Familiarízate con JavaScript y Node.js: Tener una buena base en estos lenguajes te permitirá aprovechar al máximo los beneficios de TensorFlow JS.

  2. Explora los Modelos Preentrenados: Aprovecha los modelos preentrenados disponibles para acelerar el desarrollo y enfoque en personalizar y mejorar soluciones específicas.

  3. Prueba y Monitorea: Siempre él desempeño de tus aplicaciones, buscando optimizaciones para el procesamiento de datos y visualización de resultados.

Con estas recomendaciones y una comprensión de las capacidades únicas de TensorFlow JS, puedes empezar a construir aplicaciones web que integren aprendizaje de máquina de manera efectiva y eficiente. Continúa aprendiendo y experimentando para descubrir el vasto potencial que ofrece esta tecnología.

Aportes 4

Preguntas 3

Ordenar por:

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

Diferencias de TF.js con TF

  • Podras agregar capacidades de aprendizaje de maquina a cualquier aplicacion web.
  • Te permitira crear y entrenar modelos en el Navegador o en un servidor en Node.
  • Podras utilizar modelos pre-entrenados en tu entorno de JavaScript.

Recoleccion de basura

JavaScript elimina de memoria aquellas variables que ya no estamos utilizando.

  • A diferencia del codigo de JavaScript, los objetos y variables utilizados por TensorFlow.js no son liberados de la memoria automaticamente cuando salen fuera del alcance.
  • Es necesario utilizar la funcion tf.tidy() para limpiar los tensores intermedios. Evitando fugas de memoria que pueden causar que el navegador pierda desempeño.
  • Existen funciones para medir el desempeño y tambien para realizar un perfilado de la ejecucion de los flujos y modelos que pueden ayudarnos a detectar errores o ejecuciones ineficientes.

Clases Principales de TensorFlow.js

  • Tensores (Tensors)
  • Modelos (Models)
  • Capas (Layers)
  • Operaciones (Operations)
  • Entrenamiento (Training)
  • Desempeño (Performance)
  • Entorno (Environment)
  • Restricciones (Constraints)
  • Inicializadores (Initializers)
  • Regularizadores (Regularizers)
  • Datos (Data)
  • Visualizacion (Visualization)
  • Utilerias (Utils)
  • Backends
  • Navegador (Browser)
  • Metricas (Metrics)
  • Callbacks

Clases Principales de la Libreria TensorFlow.js

Usar Tensorflow.js en node, en backend tiene varias opciones (o paquetes npm):

Para poder usar las librerías de backend se requiere node, npm, etc. y en particular para la librería que usa gpu, se requiere la instalación de dependencias del fabricante de la tarjeta gráfica, en el caso de Nvidia por ejemplo GPU-toolkit y nCUDAs (spoiler: es un tanto más complejo, pero igual de emocionante)
https://developer.nvidia.com/cuda-toolkit

Infraestructura / arquitectura sobre la que se ejecuta Tensorflow / TensorflowJS

Utilice Tesseract.js para el reconocimiento óptico de caracteres, funciona bien, pero con TensorFlow viendo que potente es, puede llegar a ser más rápido en el reconocimiento de caracteres, algo como ya lo vemos con Google Lens.