Temario del curso
Introducción
- Introducción a TensorFlow y deep learning
- Casos de uso y aplicaciones de TensorFlow
- Ecosistema y herramientas de TensorFlow
- Flujos de trabajo de aprendizaje automático y deep learning
- Resumen de los objetivos del curso y ejercicios prácticos
TensorFlow 2.x frente a versiones anteriores: Novedades
- Diferencias clave entre TensorFlow 1.x y 2.x
- Ejecución eager
- APIs simplificadas y mejor usabilidad
- Cambios en la construcción y entrenamiento de modelos
- Introducción a Keras como API de alto nivel
- Consideraciones de migración para aplicaciones existentes de TensorFlow
- Mejores prácticas 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 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 centrales
- Tensores y operaciones de tensores
- Variables y constantes
- Gráficos computacionales y ejecución eager
- 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
Funcionamiento de las redes neuronales
- Fundamentos de las redes neuronales artificiales
- Neuronas, capas y arquitecturas de redes
- Funciones de activación
- Propagación hacia adelante
- Funciones de pérdida
- Propagación hacia atrás
- Descenso de gradiente y optimización
- Tasas de aprendizaje y estrategias de optimización
- Overfitting y 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 del modelo
Análisis de datos
- Comprensión de conjuntos de datos para 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 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
- Aumento de datos
- Construcción de pipelines de entrada eficientes
- Uso de
tf.data - Batching, mezcla, cacheo y pre-lectura
- 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 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 overfitting
- 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
- Uso de modelos preentrenados
- Ajuste fino 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 y épocas
- Selección del optimizador
- Programación de la tasa de aprendizaje
- Callbacks de entrenamiento
- Parada temprana
- Creación de puntos de control del modelo
- Monitoreo del progreso del entrenamiento
- Detección de overfitting
- Mejora del rendimiento del entrenamiento
- Consideraciones para el entrenamiento distribuido
Entrenamiento en una GPU frente a un TPU
- Arquitecturas de CPU, GPU y TPU
- Ventajas de la aceleración por 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ómputos entre dispositivos
- Gestión de memoria y recursos computacionales
- Comparación del rendimiento de 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 puntuación F1
- Métricas de evaluación de 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 lote 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 sesgos en datos y predicciones
- Mejora del rendimiento del modelo basándose 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 explosivos y desaparecientes
- Diagnóstico de overfitting y underfitting
- 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
- Containerizació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
- Cuantización
- Ejecución de inferencia en dispositivos móviles
- Gestión de recursos del dispositivo móvil
- 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 requisitos computacionales
- Inferencia en el borde
- 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 de integración en producción
Solución de problemas
- Diagnóstico de problemas de instalación de TensorFlow
- Solución de problemas 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 conceptos de TensorFlow 2.x
- Repaso de flujos de trabajo de redes neuronales y deep learning
- Repaso de preparación de datos y desarrollo de modelos
- Repaso de clasificación de imágenes
- Repaso de técnicas de entrenamiento y evaluación
- Repaso de 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.
Público
- Desarrolladores
- Científicos de Datos
Reseñas (4)
La capacitación estuvo bien organizada y planificada, y salí de ella con conocimientos sistemáticos y una buena visión de los temas que abordamos
Magdalena - Samsung Electronics Polska Sp. z o.o.
Curso - Deep Learning with TensorFlow 2
Traducción Automática
El conocimiento del instructor y el hecho de que fueran muy accesibles. Podían transmitir fácilmente conocimientos importantes.
Mateusz Stachyra - Samsung Electronics Polska Sp. z o.o.
Curso - Deep Learning with TensorFlow 2
Traducción Automática
Me gustó que también cubrimos los conceptos básicos
Tomasz - Samsung Electronics Polska Sp. z o.o.
Curso - Deep Learning with TensorFlow 2
Traducción Automática
El formador explicó el contenido de manera clara y estuvo muy participativo durante toda la sesión. Hizo pausas para hacer preguntas y nos permitió encontrar nuestras propias soluciones en algunas sesiones prácticas. Además, adaptó bien el curso a nuestras necesidades.
Robert Baker
Curso - Deep Learning with TensorFlow 2.0
Traducción Automática