Solicitar información

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: Novedades

  • Principales diferencias entre TensorFlow 1.x y 2.x
  • Ejecución ágil (eager execution)
  • APIs simplificadas y mejor usabilidad
  • Cambios en la construcción y entrenamiento de modelos
  • Introducción a Keras como API de alto nivel
  • Consideraciones para la migración de aplicaciones existentes de TensorFlow
  • Mejores prácticas en 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 dependencias requeridas
  • 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 características y arquitectura de TensorFlow 2.x

  • Arquitectura de TensorFlow y componentes principales
  • Tensores y operaciones de 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
  • Pipelines 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 redes
  • Funciones de activación
  • Propagación hacia adelante (forward propagation)
  • Funciones de pérdida (loss functions)
  • Retropropagación (backpropagation)
  • Descenso de gradiente y optimización
  • Tasas de aprendizaje y estrategias de optimización
  • Sobreajuste y subajuste
  • 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 personalizadas
  • 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) de modelos

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
  • 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
  • Ampliación de datos (data augmentation)
  • Construcción de pipelines de entrada eficientes
  • Uso de tf.data
  • Loteo (batching), barajado (shuffling), almacenamiento en caché (caching) y prefetching
  • Preparación de datos para el entrenamiento de modelos

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 ampliación de imágenes
  • Redes neuronales convolucionales
  • Capas de convolución y agrupamiento (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 del lote (batch size) y épocas
  • Selección del optimizador
  • Planificación de la tasa de aprendizaje (learning-rate scheduling)
  • Callbacks de entrenamiento
  • Parada temprana (early stopping)
  • Guardado de puntos de control (checkpointing) de modelos
  • 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 de 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
  • Transferencia de computaciones 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, sensibilidad 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 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 pipelines 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 resultados de predicción
  • Detección de sesgo en datos y 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 pipelines de datos
  • Investigación del comportamiento de la pérdida y las métricas
  • Detección de gradientes explotantes y desaparecidos
  • Diagnóstico del sobreajuste y subajuste
  • Inspección de capas y salidas del modelo
  • Uso de herramientas de depuración y perfiles 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
  • 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 móvil
  • TensorFlow Lite
  • Conversión de modelos de TensorFlow para despliegue móvil
  • Optimización de modelos y reducción de tamaño
  • Cuanticizació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)

  • 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 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 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 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 en la construcción de modelos
  • Depuración de problemas de preprocesamiento de datos
  • Resolución de fallos en el entrenamiento
  • Investigación de problemas de configuración de GPU y TPU
  • Diagnóstico de problemas de memoria y rendimiento
  • Resolución de problemas en la 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óvil e 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.

Audiencia

  • Desarrolladores
  • Científicos de datos
 21 Horas

Formación Corporativa a Medida

Soluciones de formación diseñadas exclusivamente para empresas.

  • Contenido personalizado: Adaptamos el temario y los ejercicios prácticos a los objetivos y necesidades reales del proyecto.
  • Calendario flexible: Fechas y horarios adaptados a la agenda de su equipo.
  • Modalidad: Online (en directo), In-company (en sus oficinas) o Híbrida.
Inversión

Precio por grupo privado (formación online) desde 4350 € + IVA*

Contáctenos para obtener un presupuesto exacto y conocer nuestras promociones actuales

Reseñas (4)

Próximos cursos

Categorías Relacionadas