Curso: Mastering PyTorch

crd-image

neboda

Este curso incluye:

  • Idioma - EspañolIdioma - Español
  • PC, tablet o móvilPC, tablet o móvil
  • Modo: Presencial/OnlineModo: 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

 

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

 

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
  • 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
  • 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 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