Ponte en Contacto

Temario del curso

Introducción

  • Introducción a TensorFlow y al deep learning
  • Casos de uso y aplicaciones de TensorFlow
  • Ecosistema y herramientas de TensorFlow
  • Flujos de trabajo de machine learning y deep learning
  • Resumen de los objetivos del curso y los ejercicios prácticos

TensorFlow 2.x frente a versiones anteriores: Novedades

  • Diferencias clave entre TensorFlow 1.x y 2.x
  • Ejecución ágil (Eager execution)
  • APIs simplificadas y usabilidad mejorada
  • Cambios en la construcción y el entrenamiento de modelos
  • Introducción a Keras como API de alto nivel
  • Consideraciones para la migración de aplicaciones existentes de TensorFlow
  • Prácticas recomendadas para TensorFlow 2.x

Configuración de TensorFlow 2.x

  • Instalación de TensorFlow
  • Configuración de un entorno de Python
  • Verificación de la instalación de TensorFlow
  • Instalación y gestión de las dependencias requeridas
  • Configuración de entornos CPU y GPU
  • Uso de TensorFlow con notebooks de Jupyter
  • Comandos y operaciones básicas de TensorFlow
  • Solución de problemas de instalación y configuración

Resumen de las características y arquitectura de TensorFlow 2.x

  • Arquitectura de TensorFlow y componentes principales
  • Tensores y operaciones con tensores
  • Variables y constantes
  • Gráficos computacionales y ejecución ágil
  • Diferenciación automática
  • APIs y módulos de TensorFlow
  • Integración de Keras
  • Flujos de datos con tf.data
  • Serialización de modelos y TensorFlow SavedModel
  • Ecosistema de TensorFlow y flujo de trabajo de desarrollo

Cómo funcionan las redes neuronales

  • Fundamentos de las redes neuronales artificiales
  • Neuronas, capas y arquitecturas de red
  • Funciones de activación
  • Propagación hacia adelante
  • Funciones de pérdida
  • Retropropagación (Backpropagation)
  • Descenso de gradiente y optimización
  • Tasas de aprendizaje y estrategias de optimización
  • Sobreajuste (Overfitting) y subajuste (Underfitting)
  • Técnicas de regularización
  • Conjuntos de datos de entrenamiento, validación y prueba

Uso de TensorFlow 2.x para crear modelos de Deep Learning

  • Creación de tensores y variables
  • Construcción de redes neuronales con Keras
  • APIs de modelos secuenciales y funcionales
  • Definición de modelos y capas personalizados
  • Configuración de optimizadores
  • Selección de funciones de pérdida adecuadas
  • Entrenamiento de modelos con fit()
  • Bucles de entrenamiento personalizados
  • Callbacks y monitoreo del entrenamiento
  • Gestión de puntos de control (checkpoints) del modelo

Análisis de datos

  • Comprensión de los conjuntos de datos para machine learning
  • Exploración de datos estructurados y no estructurados
  • Visualización de datos
  • Identificación de patrones y anomalías
  • Gestión de datos faltantes e inconsistentes
  • División de datos en conjuntos de entrenamiento, validación y prueba
  • Selección de características relevantes
  • Preparación de conjuntos de datos para modelos de TensorFlow

Preprocesamiento de datos

  • Normalización y estandarización de datos
  • Codificación de datos categóricos
  • Gestión de valores faltantes
  • Escala de características (Feature scaling)
  • Preprocesamiento de imágenes
  • Preprocesamiento de texto
  • Aumento de datos (Data augmentation)
  • Construcción de flujos de entrada eficientes
  • Uso de tf.data
  • Loteo (Batching), barajado (shuffling), caché (caching) y preobtenimiento (prefetching)
  • Preparación de datos para el entrenamiento del modelo

Construcción de un modelo

  • Selección de una arquitectura de red neuronal adecuada
  • Definición de entradas y salidas del modelo
  • Creación de redes neuronales densas
  • Elección de funciones de activación
  • Configuración del modelo para el entrenamiento
  • Selección de optimizadores y funciones de pérdida
  • Entrenamiento y validación del modelo
  • Monitoreo de métricas de entrenamiento
  • Mejora del rendimiento del modelo
  • Prevención del sobreajuste
  • Implementación de regularización y dropout

Implementación de un clasificador de imágenes de última generación

  • Fundamentos de la clasificación de imágenes
  • Preparación de conjuntos de datos de imágenes
  • Normalización y aumento de imágenes
  • Redes neuronales convolucionales
  • Capas de convolución y pooling
  • Diseño de una arquitectura de clasificación de imágenes
  • Aprendizaje por transferencia (Transfer learning)
  • Uso de modelos preentrenados
  • Ajuste fino (Fine-tuning) de redes preentrenadas
  • Construcción de un clasificador de imágenes avanzado
  • Evaluación del rendimiento de clasificación

Entrenamiento del modelo

  • Configuración de parámetros de entrenamiento
  • Tamaño de lote (Batch size) y épocas
  • Selección del optimizador
  • Programación de la tasa de aprendizaje (Learning-rate scheduling)
  • Callbacks de entrenamiento
  • Parada anticipada (Early stopping)
  • Creación de puntos de control del modelo
  • Monitoreo del progreso del entrenamiento
  • Detección del sobreajuste
  • Mejora del rendimiento del entrenamiento
  • Consideraciones para el entrenamiento distribuido

Entrenamiento en GPU frente a TPU

  • Arquitecturas CPU, GPU y TPU
  • Ventajas de la aceleración de hardware
  • Configuración de TensorFlow para entrenamiento en GPU
  • Comprensión del entrenamiento basado en TPU
  • Selección de hardware para diferentes cargas de trabajo
  • Desplazamiento de computaciones entre dispositivos
  • Gestión de la memoria y los recursos computacionales
  • Comparación del rendimiento del entrenamiento
  • Estrategias de entrenamiento distribuido y acelerado

Evaluación del modelo

  • Selección de métricas de evaluación adecuadas
  • Precisión, exactitud, recall y puntaje F1
  • Métricas de evaluación para regresión
  • Matrices de confusión
  • Estrategias de validación
  • Evaluación de modelos de clasificación
  • Evaluación de la generalización del modelo
  • Identificación de debilidades del modelo
  • Comparación de diferentes configuraciones del modelo

Realización de predicciones

  • Uso de modelos entrenados para inferencia
  • Preparación de nuevos datos de entrada
  • Realización de predicciones por lotes e individuales
  • Interpretación de las salidas del modelo
  • Probabilidades de clasificación
  • Predicciones de regresión
  • Construcción de un flujo de trabajo de inferencia
  • Manejo de datos no vistos
  • Gestión de flujos de predicción

Evaluación de las predicciones

  • Análisis de la calidad de las predicciones
  • Comparación de predicciones con resultados esperados
  • Identificación de falsos positivos y falsos negativos
  • Análisis de errores
  • Evaluación de la confianza del modelo
  • Visualización de los resultados de las predicciones
  • Detección de sesgo en los datos y las predicciones
  • Mejora del rendimiento del modelo basada en el análisis de predicciones

Depuración del modelo

  • Identificación de problemas comunes de entrenamiento
  • Diagnóstico de predicciones incorrectas
  • Depuración de flujos de datos
  • Investigación del comportamiento de la pérdida y las métricas
  • Detección de gradientes explotantes y desaparecientes
  • Diagnóstico del sobreajuste y subajuste
  • Inspección de capas y salidas del modelo
  • Uso de herramientas de depuración y perfilado de TensorFlow
  • Mejora de la estabilidad y el rendimiento del modelo

Guardado de un modelo

  • Guardado de modelos entrenados
  • Formato TensorFlow SavedModel
  • Guardado y restauración de pesos del modelo
  • Guardado de la arquitectura y configuración del modelo
  • Carga de modelos para inferencia
  • Versionado de modelos
  • Exportación de modelos para despliegue
  • Gestión de artefactos del modelo
  • Preparación de modelos para entornos de producción

Despliegue de un modelo en la nube

  • Introducción al despliegue de modelos basado en la nube
  • Preparación de modelos de TensorFlow para producción
  • Servicio de modelos a través de APIs
  • Conceptos de servicio de modelos (Model serving)
  • Contenerización de aplicaciones de TensorFlow
  • Inferencia basada en la nube
  • Escala de cargas de trabajo de servicio de modelos
  • Monitoreo de modelos desplegados
  • Gestión de versiones de modelos
  • Consideraciones para el despliegue en producción

Despliegue de un modelo en un dispositivo móvil

  • Desafíos del machine learning móvil
  • TensorFlow Lite
  • Conversión de modelos de TensorFlow para despliegue móvil
  • Optimización de modelos y reducción de tamaño
  • Cuantización
  • Ejecución de inferencia en dispositivos móviles
  • Gestión de recursos de dispositivos móviles
  • Integración de modelos en aplicaciones móviles
  • Pruebas de rendimiento de inferencia móvil

Despliegue de un modelo en un sistema embebido (IoT)

  • Machine learning en dispositivos embebidos
  • TensorFlow Lite para aplicaciones embebidas
  • Restricciones de recursos y optimización
  • Reducción del tamaño del modelo y los requisitos computacionales
  • Inferencia en el borde (Edge inference)
  • Procesamiento de datos de sensores y en tiempo real
  • Ejecución de predicciones localmente
  • Consideraciones de energía y memoria
  • Integración de modelos de TensorFlow en flujos de trabajo de IoT
  • Pruebas y monitoreo de despliegues en el borde

Integración de un modelo con diferentes lenguajes

  • Interoperabilidad de modelos de TensorFlow
  • Servicio de modelos a través de APIs
  • Uso de modelos de TensorFlow desde diferentes entornos de programación
  • Integración de modelos basada en Python
  • Integración de modelos en aplicaciones web
  • Inferencia de modelos a través de servicios basados en REST
  • Integración de TensorFlow en aplicaciones existentes
  • Intercambio y serialización de datos
  • Consideraciones para la integración en producción

Solución de problemas

  • Diagnóstico de problemas de instalación de TensorFlow
  • Solución de errores de construcción de modelos
  • Depuración de problemas de preprocesamiento de datos
  • Resolución de fallos de entrenamiento
  • Investigación de problemas de configuración de GPU y TPU
  • Diagnóstico de problemas de memoria y rendimiento
  • Solución de problemas de carga y guardado de modelos
  • Depuración de problemas de despliegue
  • Ejercicios prácticos de solución de problemas

Resumen y conclusión

  • Repaso de los conceptos de TensorFlow 2.x
  • Repaso de los flujos de trabajo de redes neuronales y deep learning
  • Repaso de la preparación de datos y el desarrollo de modelos
  • Repaso de la clasificación de imágenes
  • Repaso de las técnicas de entrenamiento y evaluación
  • Repaso de la depuración y optimización de modelos
  • Repaso del despliegue en la nube, móvil e IoT
  • Prácticas recomendadas para el desarrollo con TensorFlow
  • Ejercicio práctico final
  • Preguntas y discusión

Requerimientos

  • Experiencia de programación en Python.
  • Experiencia con la línea de comandos de Linux.

Público Objetivo

  • Desarrolladores
  • Científicos de Datos
 21 Horas

Número de participantes


Precio por participante

Reseñas (4)

Próximos cursos

Categorías Relacionadas