Ponte en Contacto

Temario del curso

Introducción

  • Introducción a TensorFlow y al aprendizaje profundo
  • Casos de uso y aplicaciones de TensorFlow
  • Ecosistema y herramientas de TensorFlow
  • Flujos de trabajo de aprendizaje automático y aprendizaje profundo
  • Resumen de los objetivos del curso y ejercicios prácticos

TensorFlow 2.x vs versiones anteriores: ¿Qué hay de nuevo?

  • Principales diferencias entre TensorFlow 1.x y 2.x
  • Ejecución inmediata (eager execution)
  • APIs simplificadas y usabilidad mejorada
  • Cambios en la construcción y entrenamiento de modelos
  • Introducción a Keras como la API de alto nivel
  • Consideraciones para la migración de aplicaciones existentes de TensorFlow
  • Mejores prácticas de 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 necesarias
  • Configuración de entornos CPU y GPU
  • Uso de TensorFlow con cuadernos Jupyter
  • Comandos y operaciones básicas de TensorFlow
  • Resolució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 inmediata
  • 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 aprendizaje profundo

  • 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 el aprendizaje automático
  • Exploración de datos estructurados y no estructurados
  • Visualización de datos
  • Identificación de patrones y anomalías
  • Manejo de datos faltantes e inconsistentes
  • División de los 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
  • Manejo de valores faltantes
  • Escala de características
  • Preprocesamiento de imágenes
  • Preprocesamiento de texto
  • Ampliación de datos (data augmentation)
  • Construcción de flujos de entrada eficientes
  • Uso de tf.data
  • Loteo (batching), barajado (shuffling), almacenamiento en caché (caching) y pre-precarga (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 vanguardia

  • Fundamentos de la clasificación de imágenes
  • Preparación de conjuntos de datos de imágenes
  • Normalización y ampliación de imágenes
  • Redes neuronales convolucionales
  • Capas de convolución y muestreo (pooling)
  • Diseño de una arquitectura de clasificación de imágenes
  • Aprendizaje por transferencia
  • 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 la 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
  • Callbacks de entrenamiento
  • Detención temprana (early stopping)
  • Creación de puntos de control (checkpointing) de modelos
  • Monitoreo del progreso del entrenamiento
  • Detección de sobreajuste
  • Mejora del rendimiento del entrenamiento
  • Consideraciones para el entrenamiento distribuido

Entrenamiento en una GPU vs una 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 cálculos entre dispositivos
  • Gestión de memoria y 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 (precision), sensibilidad (recall) y puntuación 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 de modelos

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 las predicciones con los 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 sesgos 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 trabajo de datos
  • Investigación del comportamiento de la pérdida y las métricas
  • Detección de gradientes explosivos y desaparecidos
  • Diagnóstico de 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 SavedModel de TensorFlow
  • 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
  • Suministro de modelos a través de APIs
  • Conceptos de servicio de modelos
  • 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 aprendizaje automático en móviles
  • TensorFlow Lite
  • Conversión de modelos de TensorFlow para despliegue en móviles
  • Optimización del modelo 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 en móviles

Despliegue de un modelo en un sistema embebido (IoT)

  • Aprendizaje automático en dispositivos embebidos
  • TensorFlow Lite para aplicaciones embebidas
  • Restricciones de recursos y optimización
  • Reducción del tamaño del modelo y de los requisitos computacionales
  • Inferencia en el borde (edge)
  • 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 IoT
  • Pruebas y monitoreo de despliegues en el borde

Integración de un modelo con diferentes lenguajes

  • Interoperabilidad de modelos de TensorFlow
  • Suministro de modelos a través de APIs
  • Uso de modelos de TensorFlow desde diferentes entornos de programación
  • Integración de modelos basados 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 de datos y serialización
  • Consideraciones para la integración en producción

Resolución de problemas

  • Diagnóstico de problemas de instalación de TensorFlow
  • Resolució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
  • Resolución de problemas de carga y guardado de modelos
  • Depuración de problemas de despliegue
  • Ejercicios prácticos de resolució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 aprendizaje profundo
  • 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óviles y IoT
  • Mejores prácticas 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

  • Desarrolladores
  • Científicos de Datos
 21 Horas

Número de participantes


Precio por participante

Reseñas (4)

Próximos cursos

Categorías Relacionadas