neboda
Este curso incluye:
-
Idioma - Español
-
PC, tablet o móvil
-
Modo: Presencial/Online
-
Descripción curso
Scala es un lenguaje de programación moderno y versátil que combina características de programación orientada a objetos y funcional. Es conocido por su sintaxis concisa y expresiva, lo que permite escribir código más limpio y eficiente. Además, se ejecuta en la máquina virtual de Java (JVM), lo que facilita la integración con aplicaciones Java existentes.
Scala es muy popular en el desarrollo de aplicaciones escalables y de alto rendimiento, especialmente en entornos de big data y sistemas distribuidos.
¡Es una excelente opción si buscas un lenguaje potente y flexible!
-
Temario curso
Tema 1: Descripción general del aprendizaje profundo con PyTorch
- Un repaso sobre el aprendizaje profundo
- Funciones de activación
- Programa de optimización
- Explorando la biblioteca de PyTorch en contraste con TensorFlow
- Módulos tensoriales
- Módulos de PyTorch
- torch.nn
- torch.optim
- torch.utils.data
- Entrenamiento de una red neuronal con PyTorch
Tema 2: Arquitecturas Deep CNN
- ¿Por qué las CNN son tan poderosas?
- Evolución de las arquitecturas CNN
- Desarrollando LeNet desde cero
- Uso de PyTorch para compilar LeNet
- Formación LeNet
- Probando LeNet
- Ajuste del modelo AlexNet
- Uso de PyTorch para ajustar AlexNet
- Ejecución de un modelo VGG previamente entrenado
- Explorando GoogLeNet e Inception v3
- Módulos de inicio
- Circunvoluciones 1x1
- Agrupación media global
- Clasificadores auxiliares
- Origen v3
- Discutiendo las arquitecturas ResNet y DenseNet
- ResNet
- Red densa
- Entendiendo EfficientNets y el futuro de las arquitecturas de CNN
Tema 3: Combinación de CNN y LSTM
- Creación de una red neuronal con CNN y LSTM
- Demostración de codificación de texto
- Creación de un generador de subtítulos de imagen con PyTorch
- Descarga de los conjuntos de datos de subtítulos de imágenes
- Preprocesamiento de datos de subtítulos (texto)
- Preprocesamiento de datos de imagen
- Definición del cargador de datos de subtítulos de imágenes
- Definición del modelo CNN-LSTM
- Entrenamiento del modelo CNN-LSTM
- Generación de leyendas de imagen mediante el modelo entrenado
Tema 4: Arquitecturas de modelos recurrentes profundas
- Explorando la evolución de las redes recurrentes
- Tipos de redes neuronales recurrentes
- RNN
- RNN bidireccionales
- LSTM
- LSTM extendidos y bidireccionales
- RNN multidimensionales
- LSTM apilados
- GRUs
- LSTM de cuadrícula
- Unidades recurrentes ortogonales cerradas
- Entrenamiento de RNN para el análisis de sentimientos
- Carga y preprocesamiento del conjunto de datos de texto
- Creación de instancias y entrenamiento del modelo
- Creación de un LSTM bidireccional
- Carga y preprocesamiento del conjunto de datos de texto
- Creación de instancias y entrenamiento del modelo LSTM
- Discusión de GRU y modelos basados en la atención
- GRU y PyTorch
- Modelos basados en la atención
Tema 5: Modelos híbridos avanzados
- Creación de un modelo de transformador para el modelado de lenguaje
- Revisión del modelado del lenguaje
- Descripción de la arquitectura del modelo de transformador
- Definición de un modelo de transformador en PyTorch
- Carga y procesamiento del conjunto de datos
- Entrenamiento del modelo de transformador
- Desarrollo de un modelo RandWireNN desde cero
- Entendiendo RandWireNNs
- Desarrollo de RandWireNNs usando PyTorch
- Definición de una rutina de entrenamiento y carga de datos
- Definición del grafo cableado aleatoriamente
- Definición de módulos de modelo RandWireNN
- Transformación de un grafo aleatorio en una red neuronal
- Entrenamiento del modelo RandWireNN
- Evaluación y visualización del modelo RandWireNN
- Un repaso sobre el aprendizaje profundo
Tema 6: Redes Neuronales de Grafos
- Introducción a las GNN
- Entendiendo la intuición detrás de las GNN
- Uso de NN regulares en datos de grafos: un experimento mental
- Entendiendo el poder de las GNNs con grafos computacionales
- Tipos de tareas de aprendizaje de grafos
- Descripción de las tareas a nivel de nodo
- Descripción de las tareas de nivel perimetral
- Descripción de las tareas a nivel de grafo
- Revisión de modelos destacados de GNN
- Descripción de las convoluciones de grafos con GCN
- Uso de la atención en gráficos con GAT
- Realización de muestreo de gráficos con GraphSAGE
- Creación de un modelo GCN con PyTorch Geometric
- Carga y exploración del conjunto de datos de redes de citas
- Creación de un clasificador de nodos simple basado en NN
- Creación de un modelo de GCN para la clasificación de nodos
- Entrenamiento de un modelo GAT con PyTorch Geometric
Tema 7: Generación de música y texto con PyTorch
- Creación de un generador de texto basado en transformadores con PyTorch
- Entrenamiento del modelo de lenguaje basado en transformadores
- Guardar y cargar el modelo de lenguaje
- Uso del modelo de lenguaje para generar texto
- Uso de modelos GPT como generadores de texto
- Generación de texto lista para usar con GPT-2
- Estrategias de generación de texto con PyTorch
- Búsqueda codiciosa
- Búsqueda de haces
- Muestreo top-k y top-p
- Generación de texto con GPT-3
- Generación de música MIDI con LSTM mediante PyTorch
- Carga de los datos de música MIDI
- Definición del modelo LSTM y la rutina de entrenamiento
- Entrenamiento y prueba del modelo de generación de música
Tema 8: Transferencia de estilo neural
- Comprender cómo transferir estilo entre imágenes
- Implementación de la transferencia de estilo neuronal mediante PyTorch
- Carga del contenido y estilo de las imágenes
- Carga y recorte del modelo VGG19 previamente entrenado
- Construcción del modelo de transferencia de estilo neuronal
- Entrenamiento del modelo de transferencia de estilo
- Experimentando con el sistema de transferencia de estilo
Tema 9: GAN convolucionales profundas
- Definición de las redes generadoras y discriminadoras
- Descripción del generador y discriminador DCGAN
- Entrenamiento de una DCGAN mediante PyTorch
- Definición del generador
- Definición del discriminador
- Carga del conjunto de datos de imágenes
- Bucles de entrenamiento para DCGAN
- Uso de GAN para la transferencia de estilos
- Comprender la arquitectura pix2pix
- Explorando el generador pix2pix
- Explorando el discriminador pix2pix
- Comprender la arquitectura pix2pix
Tema 10: Generación de imágenes mediante difusión
- Comprender la generación de imágenes mediante difusión
- Comprender cómo funciona la difusión
- Entrenamiento de un modelo de difusión directa
- Realizar difusión inversa o eliminación de ruido
- Entrenamiento de un modelo de difusión para la generación de imágenes
- Carga del conjunto de datos mediante conjuntos de datos de Hugging Face
- Procesamiento del conjunto de datos mediante transformaciones de torchvision
- Añadir ruido a las imágenes con difusores
- Definición del modelo UNet
- Entrenamiento del modelo UNet
- Definición del optimizador y el programa de aprendizaje
- Uso de Hugging Face Accelerate para acelerar el entrenamiento
- Ejecución del bucle de entrenamiento del modelo
- Generación de imágenes de anime realistas mediante difusión (inversa)
- Comprender la generación de texto a imagen mediante difusión
- Codificación de la entrada de texto en un vector de incrustación
- Ingesta de datos de texto adicionales en el modelo UNet (condicional)
- Uso del modelo de difusión estable para generar imágenes a partir de texto
Tema 11: Aprendizaje por refuerzo profundo
- Revisión de conceptos de RL
- Tipos de algoritmos de RL
- Basado en modelos
- Sin modelo
- Tipos de algoritmos de RL
- Discutiendo Q-learning
- Comprender el Q-learning profundo
- Uso de dos DNN independientes
- Experimente el búfer de repetición
- Creación de un modelo DQN en PyTorch
- Inicialización de los modelos CNN principal y de destino
- Definición del búfer de reproducción de experiencias
- Configuración del entorno
- Definición de la función de optimización de CNN
- Administrar y ejecutar episodios
- Entrenamiento del modelo DQN para aprender Pong
Tema 12: Optimizaciones de entrenamiento de modelos
- Entrenamiento distribuido con PyTorch
- Entrenar el modelo MNIST de manera regular
- Entrenamiento del modelo MNIST de forma distribuida
- Entrenamiento distribuido en GPU con CUDA
- Entrenamiento automático de precisión mixta
- Entrenamiento de modelos normal en una GPU
- Entrenamiento de precisión mixto en una GPU.
Tema 13: Operacionalización de los modelos de PyTorch en producción
- Publicación de modelos en PyTorch
- Creación de una canalización de inferencia de modelos de PyTorch
- Guardar y cargar un modelo entrenado
- Creación de la canalización de inferencia
- Creación de un servidor de modelos básico
- Escribir una aplicación básica con Flask
- Uso de Flask para construir nuestro servidor de modelos
- Configuración de la inferencia de modelos para el servicio de Flask
- Creación de un modelo de aplicación de Flask para servir
- Uso de un servidor de Flask para ejecutar predicciones
- Creación de un microservicio modelo
- Entrega de un modelo de PyTorch mediante TorchServe
- Instalación de TorchServe
- Inicio y uso de un servidor de TorchServe
- Exportación de modelos universales de PyTorch mediante TorchScript y ONNX
- Comprender la utilidad de TorchScript
- Seguimiento de modelos con TorchScript
- Secuencias de comandos de modelos con TorchScript
- Ejecución de un modelo de PyTorch en C++
- Uso de ONNX para exportar modelos de PyTorch
- Servir modelos de PyTorch en la nube
- Uso de PyTorch con AWS
- Entrega de un modelo de PyTorch mediante una instancia de AWS
- Uso de TorchServe con Amazon SageMaker
- Entrega modelos de PyTorch en Google Cloud
- Servicio de modelos de PyTorch con Azure
- Trabajar con DSVM de Azure
- Análisis de Azure Machine Learning Service
Tema 14: PyTorch en dispositivos móviles
- Implementación de un modelo de PyTorch en Android
- Conversión del modelo de PyTorch a un formato optimizado para dispositivos móviles
- Configuración del entorno de desarrollo de aplicaciones Android
- Uso de la cámara del teléfono en la aplicación de Android para capturar imágenes
- Activación de la cámara durante el inicio de la aplicación
- Manejo de permisos de cámara en Android
- Apertura de la cámara para la captura de imágenes
- Captura de imágenes con la cámara del teléfono
- Ejecución de inferencia de modelos de ML en imágenes capturadas por cámara
- Validación de la ruta binaria del modelo de ML
- Realización de la clasificación de imágenes en imágenes capturadas por la cámara
- Iniciar la aplicación en un dispositivo móvil Android
- Activación de la cámara durante el inicio de la aplicación
- Creación de aplicaciones de PyTorch en iOS
- Configuración del entorno de desarrollo de iOS
- Usar la cámara de un teléfono en la aplicación iOS para capturar imágenes
- Ejecución de inferencia de modelos de ML en imágenes capturadas por cámara
Tema 15: Prototipado rápido con PyTorch
- Uso de fastai para configurar el entrenamiento de modelos en unos minutos
- Configuración de fastai y carga de datos
- Entrenamiento de un modelo MNIST mediante fastai
- Evaluación e interpretación del modelo mediante fastai
- Entrenamiento de modelos en cualquier hardware con PyTorch Lightning
- Definición de los componentes del modelo en PyTorch Lightning
- Entrenamiento y evaluación del modelo mediante PyTorch Lightning
- Generación de perfiles de inferencia de modelos MNIST mediante PyTorch Profiler
- Generación de perfiles en una CPU
- Inferencia del modelo de generación de perfiles en la GPU
- Visualización de los resultados de la generación de perfiles de modelos
Tema 16: PyTorch y AutoML
- Encontrar las mejores arquitecturas neuronales con AutoML
- Uso de Auto-PyTorch para una búsqueda óptima del modelo MNIST
- Carga del conjunto de datos MNIST
- Ejecución de una búsqueda de arquitectura neuronal con Auto-PyTorch
- Visualiza el modelo óptimo de AutoML
- Uso de Auto-PyTorch para una búsqueda óptima del modelo MNIST
- Uso de Optuna para la búsqueda de hiperparámetros
- Definición de la arquitectura del modelo y carga del conjunto de datos
- Definición de la rutina de entrenamiento del modelo y el programa de optimización
- Ejecución de la búsqueda de hiperparámetros de Optuna
Tema 17: PyTorch y la IA explicable
- Interpretabilidad del modelo en PyTorch
- Entrenamiento del clasificador de dígitos escritos a mano: un resumen
- Visualización de los filtros convolucionales del modelo
- Visualización de los mapas de características del modelo
- Uso de Captum para interpretar modelos
- Configuración de Captum
- Explorando las herramientas de interpretabilidad de Captum
Tema 18: Sistemas de recomendación con PyTorch
- Uso del aprendizaje profundo para sistemas de recomendación
- Descripción de un conjunto de datos del sistema de recomendación de películas
- Descripción de los sistemas de recomendación basados en incrustaciones
- Descripción y procesamiento del conjunto de datos de MovieLens
- Descarga del conjunto de datos de MovieLens
- Carga y análisis del conjunto de datos de MovieLens
- Procesamiento del conjunto de datos de MovieLens
- Creación del cargador de datos de MovieLens
- Entrenamiento y evaluación de un modelo de sistema de recomendación
- Definición de la arquitectura de EmbeddingNet
- Formación EmbeddingNet
- Evaluación del modelo EmbeddingNet entrenado
- Creación de un sistema de recomendación mediante el modelo entrenado
Tema 19: PyTorch y Hugging Face
- Descripción de Hugging Face en el contexto de PyTorch
- Exploración de los componentes de Hugging Face relevantes para PyTorch
- Integración de Hugging Face con PyTorch
- Uso de Hugging Face Hub para modelos previamente entrenados
- Uso de la biblioteca de conjuntos de datos de caras abrazadas con PyTorch
- Uso de Accelerate para acelerar el entrenamiento del modelo de PyTorch
- Uso de Optimum para optimizar la implementación del modelo PyTorch