
En esta lección aprenderás los más importante sobre el uso correcto y óptimo del portal formativo Udemy. Recuerda que si aún sigues tienes algún problema o dificultad durante la formación puedes contactar conmigo.
Mis Cursos en Udemy.
Te invito a conocer el resto de mis formaciones disponibles en la plataforma Udemy.
Y por ser alumno y haber finalizado este curso, te ofrezco un gran descuento en mis cursos online como agradecimiento por tu apoyo y confianza prestada en mis formaciones. Accede al contenido exclusivo de esta lección y consigue tu curso con descuento.
Mis Cursos en Udemy.
Te invito a conocer el resto de mis formaciones disponibles en la plataforma Udemy.
Y por ser alumno y haber finalizado este curso, te ofrezco un gran descuento en mis cursos online como agradecimiento por tu apoyo y confianza prestada en mis formaciones. Accede al contenido exclusivo de esta lección y consigue tu curso con descuento.
Información del curso que vamos a comenzar.
Contenidos principales y plan docente del curso.
En la siguiente clase te detallo como está organizado y configurado el curso que estas comenzando. El objetivo es que aproveches al máximo la formación y saques el mayor beneficio de la misma.
¡Comencemos!
Para ir conociéndonos todos, te invito a presentarte. Ponle cara a tu perfil y sube un par de proyectos, personales o profesionales, compártelos en el foro de esta clase y cuéntanos en qué lugar o proyecto desearías trabajar idealmente.
Recuerda que desde el apartado de "Preguntas y Respuestas" podrás presentarte al resto de alumnos de este curso y plantear todas las inquietudes que tengas.
Sección que dispondrá de una serie de recursos y enlaces interesantes para poder complementar eficazmente la formación del curso.
Comenzamos nuestro curso de Deep Learning con Python realizando una introducción del proceso paso a paso que se debe de utilizar en el mundo del modelado predictivo con el lenguaje de programación Python. Veremos como Python es un potente lenguaje de programación que nos permitirá analizar y tomar decisiones sobre cualquier conjunto de datos de manera muy sencilla con los conocimientos ya adquiridos de programación que ya deberemos de poseer.
Finalmente, recordarle que la estructura del curso está diseñada de manera que cada unidad está compuesta por una parte de teoría y otra de práctica. Cada una de las unidades dispondrá del PDF de lectura (y presentación) que tendrá todos los conceptos teóricos y varios vídeos que tendrá los conceptos prácticos que deberás reproducir usted en su estudio. Por tanto, es importante, antes de ver la parte de práctica, se entienda y estudie la parte de teoría.
¡Manos a la obra!
¡Clase práctica! Recuerda que los archivos y cuadernos asociados a esta clase se encuentran en la primera lectura de esta sección.
Good coding!
¡Clase práctica! Recuerda que los archivos y cuadernos asociados a esta clase se encuentran en la primera lectura de esta sección.
Good coding!
¡Clase práctica! Recuerda que los archivos y cuadernos asociados a esta clase se encuentran en la primera lectura de esta sección.
Good coding!
¡Clase práctica! Recuerda que los archivos y cuadernos asociados a esta clase se encuentran en la primera lectura de esta sección.
Good coding!
¡Clase práctica! Recuerda que los archivos y cuadernos asociados a esta clase se encuentran en la primera lectura de esta sección.
Good coding!
¡Clase práctica! Recuerda que los archivos y cuadernos asociados a esta clase se encuentran en la primera lectura de esta sección.
Good coding!
¡Clase práctica! Recuerda que los archivos y cuadernos asociados a esta clase se encuentran en la primera lectura de esta sección.
Good coding!
¡Clase práctica! Recuerda que los archivos y cuadernos asociados a esta clase se encuentran en la primera lectura de esta sección.
Good coding!
¡Clase práctica! Recuerda que los archivos y cuadernos asociados a esta clase se encuentran en la primera lectura de esta sección.
Good coding!
Sección que dispondrá de una serie de recursos y enlaces interesantes para poder complementar eficazmente la formación del curso.
Una vez visto todos los conceptos teórico/prácticos, empezamos a trabajar un proyecto completo de machine learning, es decir, de inicio a fin, evaluando cada una de las partes intermedias a tener en cuenta (tenga en cuenta la plantilla de trabajo).
¡Clase práctica! Recuerda que los archivos y cuadernos asociados a esta clase se encuentran en la primera lectura de esta sección.
Good coding!
¡Clase práctica! Recuerda que los archivos y cuadernos asociados a esta clase se encuentran en la primera lectura de esta sección.
Good coding!
¡Clase práctica! Recuerda que los archivos y cuadernos asociados a esta clase se encuentran en la primera lectura de esta sección.
Good coding!
Sección que dispondrá de una serie de recursos y enlaces interesantes para poder complementar eficazmente la formación del curso.
¡Clase teórica! Antes de trabajar la parte práctica veremos los conceptos fundamentales de la sesión.
Good coding!
¡Clase teórica! Antes de trabajar la parte práctica veremos los conceptos fundamentales de la sesión.
Good coding!
¡Clase teórica! Antes de trabajar la parte práctica veremos los conceptos fundamentales de la sesión.
Good coding!
¡Clase práctica! Recuerda que los archivos y cuadernos asociados a esta clase se encuentran adjuntos.
Good coding!
¡Clase práctica! Recuerda que los archivos y cuadernos asociados a esta clase se encuentran adjuntos.
Good coding!
¡Clase práctica! Recuerda que los archivos y cuadernos asociados a esta clase se encuentran adjuntos.
Good coding!
PyTorch es una biblioteca de aprendizaje automático de código abierto desarrollada por el equipo de investigación de inteligencia artificial de Facebook. Es una biblioteca basada en Python que se utiliza para construir redes neuronales profundas y admite gráficos de cálculo dinámico. En esta unidad, trabajaremos:
Cuáles son las características principales de PyTorch para convertirla en una biblioteca de aprendizaje profundo
Cómo instalar PyTorch
Algunos ejemplos básicos de código PyTorch
En este notebook lo único que realizaremos es hacer ver las diferencias principales entre Keras y PyTorch. Seguramente no conozco el código de PyTorch, no se preocupe que lo vamos a ir viendo en detalle durante el curso
PyTorch es una biblioteca de aprendizaje profundo que trabaja con tensores, que son matrices multidimensionales. Al igual que otras bibliotecas de aprendizaje profundo, PyTorch aplica operaciones en estos tensores. Aquí te ofrecemos una visión general de cómo trabajar con tensores en PyTorch y las funciones comunes que puedes utilizar. ¿Qué aprenderás en este capítulo?
Creación y Operación con Tensores: Cómo crear y manipular tensores en PyTorch.
Sintaxis Similar a NumPy: La sintaxis de los tensores en PyTorch es muy similar a la de NumPy, lo que facilita la transición para quienes ya están familiarizados con NumPy.
Funciones Comunes: Las funciones más utilizadas en PyTorch para manipular tensores.
Al finalizar este capítulo, tendrás una comprensión sólida de cómo trabajar con tensores en PyTorch, lo que te permitirá aprovechar al máximo esta poderosa biblioteca en tus proyectos de aprendizaje profundo.
¿Listo para comenzar?
Sección que dispondrá de una serie de recursos y enlaces interesantes para poder complementar eficazmente la formación del curso.
¡Clase teórica! Antes de trabajar la parte práctica veremos los conceptos fundamentales de la sesión.
Good coding!
¡Clase teórica! Antes de trabajar la parte práctica veremos los conceptos fundamentales de la sesión.
Good coding!
¡Clase teórica! Antes de trabajar la parte práctica veremos los conceptos fundamentales de la sesión.
Good coding!
¡Clase teórica! Antes de trabajar la parte práctica veremos los conceptos fundamentales de la sesión.
Good coding!
¡Clase teórica! Antes de trabajar la parte práctica veremos los conceptos fundamentales de la sesión.
Good coding!
¡Clase teórica! Antes de trabajar la parte práctica veremos los conceptos fundamentales de la sesión.
Good coding!
¡Clase teórica! Antes de trabajar la parte práctica veremos los conceptos fundamentales de la sesión.
Good coding!
¡Clase teórica! Antes de trabajar la parte práctica veremos los conceptos fundamentales de la sesión.
Good coding!
¡Clase teórica! Antes de trabajar la parte práctica veremos los conceptos fundamentales de la sesión.
Good coding!
¡Clase teórica! Antes de trabajar la parte práctica veremos los conceptos fundamentales de la sesión.
Good coding!
¡Clase teórica! Antes de trabajar la parte práctica veremos los conceptos fundamentales de la sesión.
Good coding!
¡Clase teórica! Antes de trabajar la parte práctica veremos los conceptos fundamentales de la sesión.
Good coding!
Sección que dispondrá de una serie de recursos y enlaces interesantes para poder complementar eficazmente la formación del curso.
PyTorch es una herramienta fundamental en el campo del aprendizaje profundo. Este término, en realidad, hace referencia a las redes neuronales de gran envergadura o a las redes de perceptrones con múltiples capas. En su estructura más básica, estas redes consisten en una serie de niveles interconectados de manera secuencial. A lo largo de este apartado, explorarás los elementos básicos que te permitirán construir redes neuronales y diseñar modelos sencillos de aprendizaje profundo utilizando PyTorch.
PyTorch es una herramienta fundamental en el campo del aprendizaje profundo. Este término, en realidad, hace referencia a las redes neuronales de gran envergadura o a las redes de perceptrones con múltiples capas. En su estructura más básica, estas redes consisten en una serie de niveles interconectados de manera secuencial. A lo largo de este apartado, explorarás los elementos básicos que te permitirán construir redes neuronales y diseñar modelos sencillos de aprendizaje profundo utilizando PyTorch.
PyTorch es una potente biblioteca de Python para construir modelos de aprendizaje profundo. Proporciona todo lo que necesitas para definir y entrenar una red neuronal y utilizarla para la inferencia. No necesitas escribir mucho código para completar todo esto. En este capítulo, descubrirás cómo crear tu primer modelo de red neuronal profunda en Python usando PyTorch. Después de completar este capítulo, sabrás:
Cómo cargar un conjunto de datos CSV y prepararlo para usar con PyTorch
Cómo definir un modelo Perceptrón Multicapa en PyTorch
Cómo entrenar y evaluar un modelo PyTorch en un conjunto de datos de validación
PyTorch es una potente biblioteca de Python para construir modelos de aprendizaje profundo. Proporciona todo lo que necesitas para definir y entrenar una red neuronal y utilizarla para la inferencia. No necesitas escribir mucho código para completar todo esto. En este capítulo, descubrirás cómo crear tu primer modelo de red neuronal profunda en Python usando PyTorch. Después de completar este capítulo, sabrás:
Cómo cargar un conjunto de datos CSV y prepararlo para usar con PyTorch
Cómo definir un modelo Perceptrón Multicapa en PyTorch
Cómo entrenar y evaluar un modelo PyTorch en un conjunto de datos de validación
PyTorch proporciona muchos bloques de construcción para un modelo de aprendizaje profundo, pero un ciclo de entrenamiento no forma parte de ellos. Esto te da la flexibilidad de hacer lo que quieras durante el entrenamiento, pero existe una estructura básica que es común en la mayoría de los casos de uso.
En este capítulo, verás cómo crear un ciclo de entrenamiento que proporcione información esencial para el entrenamiento de tu modelo, con la opción de mostrar cualquier información que desees. Después de completar este capítulo, sabrás:
Los bloques básicos de un ciclo de entrenamiento
Cómo usar `tqdm` para mostrar el progreso del entrenamiento
PyTorch proporciona muchos bloques de construcción para un modelo de aprendizaje profundo, pero un ciclo de entrenamiento no forma parte de ellos. Esto te da la flexibilidad de hacer lo que quieras durante el entrenamiento, pero existe una estructura básica que es común en la mayoría de los casos de uso.
En este capítulo, verás cómo crear un ciclo de entrenamiento que proporcione información esencial para el entrenamiento de tu modelo, con la opción de mostrar cualquier información que desees. Después de completar este capítulo, sabrás:
Los bloques básicos de un ciclo de entrenamiento
Cómo usar `tqdm` para mostrar el progreso del entrenamiento
Al diseñar y configurar un modelo de aprendizaje profundo desde cero, hay muchas decisiones que tomar. Esto incluye decisiones de diseño, como cuántas capas usar en un modelo de aprendizaje profundo, cuán grandes son cada una de las capas y qué tipo de capas o funciones de activación utilizar. También puede incluir la elección de la función de pérdida, el algoritmo de optimización, el número de épocas para entrenar y la interpretación de la salida del modelo. Afortunadamente, a veces puedes copiar la estructura de las redes de otras personas. En otras ocasiones, puedes hacer tu elección utilizando algunas heurísticas.
Para determinar si has tomado una buena decisión o no, la mejor manera es comparar múltiples alternativas evaluándolas empíricamente con datos reales.
El aprendizaje profundo se utiliza a menudo en problemas que cuentan con conjuntos de datos muy grandes, es decir, decenas de miles o incluso cientos de miles de muestras de datos. Esto proporciona suficientes datos para realizar pruebas. Pero necesitas tener una estrategia de prueba robusta para estimar el rendimiento de tu modelo en datos no vistos. En función de eso, puedes tener una métrica para comparar diferentes configuraciones del modelo.
La biblioteca PyTorch es utilizada para el aprendizaje profundo. Algunas aplicaciones de modelos de aprendizaje profundo se utilizan para resolver problemas de regresión o clasificación. En este capítulo, descubrirás cómo usar PyTorch para desarrollar y evaluar modelos de redes neuronales para problemas de clasificación multiclase. Después de completar este tutorial paso a paso, sabrás:
Cómo cargar datos desde un archivo CSV y hacerlos disponibles para PyTorch.
Cómo preparar datos de clasificación multiclase para modelado con redes neuronales.
Cómo usar la validación cruzada para evaluar un modelo de red neuronal en PyTorch.
Este capítulo te mostrará cómo usar PyTorch para desarrollar y evaluar modelos de redes neuronales para problemas de clasificación binaria.
Después de completar este capítulo, sabrás:
Cómo cargar datos de entrenamiento y hacerlos disponibles para PyTorch
Cómo diseñar y entrenar una red neuronal
Cómo evaluar el rendimiento de un modelo de red neuronal utilizando validación cruzada k-fold
Cómo ejecutar un modelo en modo de inferencia
Cómo crear una curva de características operativas del receptor (ROC) para un modelo de clasificación binaria
Este capítulo te mostrará cómo usar PyTorch para desarrollar y evaluar modelos de redes neuronales para problemas de clasificación binaria.
Después de completar este capítulo, sabrás:
Cómo cargar datos de entrenamiento y hacerlos disponibles para PyTorch
Cómo diseñar y entrenar una red neuronal
Cómo evaluar el rendimiento de un modelo de red neuronal utilizando validación cruzada k-fold
Cómo ejecutar un modelo en modo de inferencia
Cómo crear una curva de características operativas del receptor (ROC) para un modelo de clasificación binaria
Este capítulo te mostrará cómo usar PyTorch para desarrollar y evaluar modelos de redes neuronales para problemas de clasificación binaria.
Después de completar este capítulo, sabrás:
Cómo cargar datos de entrenamiento y hacerlos disponibles para PyTorch
Cómo diseñar y entrenar una red neuronal
Cómo evaluar el rendimiento de un modelo de red neuronal utilizando validación cruzada k-fold
Cómo ejecutar un modelo en modo de inferencia
Cómo crear una curva de características operativas del receptor (ROC) para un modelo de clasificación binaria
Los problemas de regresión suelen ser más fáciles de resolver en comparación con los problemas de clasificación. Muchos modelos pueden manejar bien los problemas de regresión, y el aprendizaje profundo es uno de ellos. En este capítulo, descubrirás cómo usar PyTorch para desarrollar y evaluar modelos de redes neuronales para problemas de regresión.
Después de completar este capítulo, sabrás:
Cómo cargar datos desde scikit-learn y adaptarlos para los modelos de PyTorch
Cómo crear una red neuronal para problemas de regresión utilizando PyTorch
Cómo mejorar el rendimiento del modelo con técnicas de preparación de datos
Los problemas de regresión suelen ser más fáciles de resolver en comparación con los problemas de clasificación. Muchos modelos pueden manejar bien los problemas de regresión, y el aprendizaje profundo es uno de ellos. En este capítulo, descubrirás cómo usar PyTorch para desarrollar y evaluar modelos de redes neuronales para problemas de regresión.
Después de completar este capítulo, sabrás:
Cómo cargar datos desde scikit-learn y adaptarlos para los modelos de PyTorch
Cómo crear una red neuronal para problemas de regresión utilizando PyTorch
Cómo mejorar el rendimiento del modelo con técnicas de preparación de datos
Un modelo de deep learning es una abstracción matemática de los datos, en la que se involucran muchos parámetros. Entrenar estos parámetros puede tomar horas, días o incluso semanas, pero después puedes usar el resultado para aplicarlo a nuevos datos. A esto se le llama inferencia en machine learning. Es importante saber cómo podemos preservar el modelo entrenado en el disco y, posteriormente, cargarlo para su uso en inferencia.
Después de leer este capítulo, sabrás:
Qué son los estados y parámetros en un modelo de PyTorch.
Cómo guardar los estados del modelo.
Cómo cargar los estados del modelo.
Un modelo de deep learning es una abstracción matemática de los datos, en la que se involucran muchos parámetros. Entrenar estos parámetros puede tomar horas, días o incluso semanas, pero después puedes usar el resultado para aplicarlo a nuevos datos. A esto se le llama inferencia en machine learning. Es importante saber cómo podemos preservar el modelo entrenado en el disco y, posteriormente, cargarlo para su uso en inferencia.
Después de leer este capítulo, sabrás:
Qué son los estados y parámetros en un modelo de PyTorch.
Cómo guardar los estados del modelo.
Cómo cargar los estados del modelo.
La función de activación es el “ingrediente mágico” que permite a una red neuronal aproximar una amplia variedad de funciones no lineales. En PyTorch, hay muchas funciones de activación disponibles para su uso en modelos de deep learning. En este capítulo, veremos cómo la elección de estas funciones puede afectar el rendimiento del modelo. Específicamente, abordaremos los siguientes temas:
Cuáles son las funciones de activación comunes
La naturaleza de las funciones de activación
Cómo las diferentes funciones de activación impactan la tasa de aprendizaje
Cómo la selección de la función de activación puede resolver el problema del gradiente que se desvanece
La función de activación es el “ingrediente mágico” que permite a una red neuronal aproximar una amplia variedad de funciones no lineales. En PyTorch, hay muchas funciones de activación disponibles para su uso en modelos de deep learning. En este capítulo, veremos cómo la elección de estas funciones puede afectar el rendimiento del modelo. Específicamente, abordaremos los siguientes temas:
Cuáles son las funciones de activación comunes
La naturaleza de las funciones de activación
Cómo las diferentes funciones de activación impactan la tasa de aprendizaje
Cómo la selección de la función de activación puede resolver el problema del gradiente que se desvanece
La métrica de pérdida es muy importante para las redes neuronales. Dado que todos los modelos de aprendizaje automático son, en esencia, un problema de optimización, la pérdida es la función objetivo que se debe minimizar. En las redes neuronales, la optimización se realiza con el descenso de gradiente y la retropropagación. Pero ¿qué son exactamente las funciones de pérdida y cómo afectan a las redes neuronales?
En este capítulo trabajaremos:
Qué son las funciones de pérdida y su papel en el entrenamiento de modelos de redes neuronales.
Funciones de pérdida comunes para problemas de regresión y clasificación.
Cómo usar funciones de pérdida en tu modelo PyTorch.
La métrica de pérdida es muy importante para las redes neuronales. Dado que todos los modelos de aprendizaje automático son, en esencia, un problema de optimización, la pérdida es la función objetivo que se debe minimizar. En las redes neuronales, la optimización se realiza con el descenso de gradiente y la retropropagación. Pero ¿qué son exactamente las funciones de pérdida y cómo afectan a las redes neuronales?
En este capítulo trabajaremos:
Qué son las funciones de pérdida y su papel en el entrenamiento de modelos de redes neuronales.
Funciones de pérdida comunes para problemas de regresión y clasificación.
Cómo usar funciones de pérdida en tu modelo PyTorch.
La métrica de pérdida es muy importante para las redes neuronales. Dado que todos los modelos de aprendizaje automático son, en esencia, un problema de optimización, la pérdida es la función objetivo que se debe minimizar. En las redes neuronales, la optimización se realiza con el descenso de gradiente y la retropropagación. Pero ¿qué son exactamente las funciones de pérdida y cómo afectan a las redes neuronales?
En este capítulo trabajaremos:
Qué son las funciones de pérdida y su papel en el entrenamiento de modelos de redes neuronales.
Funciones de pérdida comunes para problemas de regresión y clasificación.
Cómo usar funciones de pérdida en tu modelo PyTorch.
Dropout es una técnica de regularización simple y poderosa para redes neuronales y modelos de aprendizaje profundo. En este capítulo, descubrirás la técnica de regularización Dropout y cómo aplicarla a tus modelos en PyTorch. En esta clase trabajaremos:
Cómo funciona la técnica de regularización Dropout.
Cómo usar Dropout en las capas de entrada.
Cómo usar Dropout en las capas ocultas.
Cómo ajustar el nivel de Dropout para tu problema.
Dropout es una técnica de regularización simple y poderosa para redes neuronales y modelos de aprendizaje profundo. En este capítulo, descubrirás la técnica de regularización Dropout y cómo aplicarla a tus modelos en PyTorch. En esta clase trabajaremos:
Cómo funciona la técnica de regularización Dropout.
Cómo usar Dropout en las capas de entrada.
Cómo usar Dropout en las capas ocultas.
Cómo ajustar el nivel de Dropout para tu problema.
Entrenar una red neuronal o un modelo grande de aprendizaje profundo es una tarea de optimización difícil. El algoritmo clásico para entrenar redes neuronales se llama descenso de gradiente estocástico. Se ha establecido bien que se puede lograr un aumento en el rendimiento y un entrenamiento más rápido en algunos problemas al usar una tasa de aprendizaje que cambia durante el entrenamiento.
En esta sesión aprenderemos qué es una tasa de aprendizaje programada (learning rate schedule) y cómo puedes usar diferentes programaciones de tasas de aprendizaje para tus modelos de redes neuronales en PyTorch.
El rol de la programación de la tasa de aprendizaje en el entrenamiento de modelos.
Cómo usar la programación de la tasa de aprendizaje en el bucle de entrenamiento de PyTorch.
Cómo configurar tu propia programación de tasa de aprendizaje.
Entrenar una red neuronal o un modelo grande de aprendizaje profundo es una tarea de optimización difícil. El algoritmo clásico para entrenar redes neuronales se llama descenso de gradiente estocástico. Se ha establecido bien que se puede lograr un aumento en el rendimiento y un entrenamiento más rápido en algunos problemas al usar una tasa de aprendizaje que cambia durante el entrenamiento.
En esta sesión aprenderemos qué es una tasa de aprendizaje programada (learning rate schedule) y cómo puedes usar diferentes programaciones de tasas de aprendizaje para tus modelos de redes neuronales en PyTorch.
El rol de la programación de la tasa de aprendizaje en el entrenamiento de modelos.
Cómo usar la programación de la tasa de aprendizaje en el bucle de entrenamiento de PyTorch.
Cómo configurar tu propia programación de tasa de aprendizaje.
Entrenar una red neuronal o un modelo grande de aprendizaje profundo es una tarea de optimización difícil. El algoritmo clásico para entrenar redes neuronales se llama descenso de gradiente estocástico. Se ha establecido bien que se puede lograr un aumento en el rendimiento y un entrenamiento más rápido en algunos problemas al usar una tasa de aprendizaje que cambia durante el entrenamiento.
En esta sesión aprenderemos qué es una tasa de aprendizaje programada (learning rate schedule) y cómo puedes usar diferentes programaciones de tasas de aprendizaje para tus modelos de redes neuronales en PyTorch.
El rol de la programación de la tasa de aprendizaje en el entrenamiento de modelos.
Cómo usar la programación de la tasa de aprendizaje en el bucle de entrenamiento de PyTorch.
Cómo configurar tu propia programación de tasa de aprendizaje.
Cuando construyes y entrenas un modelo de aprendizaje profundo en PyTorch, puedes proporcionar los datos de entrenamiento de varias maneras. En última instancia, un modelo de PyTorch funciona como una función que toma un tensor de PyTorch y te devuelve otro tensor. Tienes mucha libertad en cómo obtener los tensores de entrada. Probablemente, la forma más fácil es preparar un tensor grande con todo el conjunto de datos y extraer un pequeño lote de él en cada paso de entrenamiento. Sin embargo, verás que usar el `DataLoader` te puede ahorrar algunas líneas de código al trabajar con los datos.
En esta clase, verás cómo puedes usar `Data` y `DataLoader` en PyTorch. Al terminar este capítulo, aprenderás:
Cómo crear y usar `DataLoader` para entrenar tu modelo en PyTorch.
Cómo usar la clase `Data` para generar datos en tiempo real.
Cuando construyes y entrenas un modelo de aprendizaje profundo en PyTorch, puedes proporcionar los datos de entrenamiento de varias maneras. En última instancia, un modelo de PyTorch funciona como una función que toma un tensor de PyTorch y te devuelve otro tensor. Tienes mucha libertad en cómo obtener los tensores de entrada. Probablemente, la forma más fácil es preparar un tensor grande con todo el conjunto de datos y extraer un pequeño lote de él en cada paso de entrenamiento. Sin embargo, verás que usar el `DataLoader` te puede ahorrar algunas líneas de código al trabajar con los datos.
En esta clase, verás cómo puedes usar `Data` y `DataLoader` en PyTorch. Al terminar este capítulo, aprenderás:
Cómo crear y usar `DataLoader` para entrenar tu modelo en PyTorch.
Cómo usar la clase `Data` para generar datos en tiempo real.
PyTorch es una biblioteca popular para el deep learning en Python, pero el enfoque de la biblioteca es el deep learning, no todo el aprendizaje automático. De hecho, busca el minimalismo, centrándose solo en lo que necesitas para definir y construir modelos de deep learning de manera rápida y simple. La biblioteca Scikit-learn en Python está construida sobre SciPy para cálculos numéricos eficientes. Es una biblioteca completamente equipada para el aprendizaje automático de propósito general y proporciona muchas utilidades útiles en el desarrollo de modelos de deep learning. No menos importantes son:
Evaluación de modelos utilizando métodos de re-muestreo como la validación cruzada k-fold
Búsqueda y evaluación eficientes de hiperparámetros del modelo
Conectar múltiples pasos de un flujo de trabajo de aprendizaje automático en una Pipeline
PyTorch es una biblioteca popular para el deep learning en Python, pero el enfoque de la biblioteca es el deep learning, no todo el aprendizaje automático. De hecho, busca el minimalismo, centrándose solo en lo que necesitas para definir y construir modelos de deep learning de manera rápida y simple. La biblioteca Scikit-learn en Python está construida sobre SciPy para cálculos numéricos eficientes. Es una biblioteca completamente equipada para el aprendizaje automático de propósito general y proporciona muchas utilidades útiles en el desarrollo de modelos de deep learning. No menos importantes son:
Evaluación de modelos utilizando métodos de re-muestreo como la validación cruzada k-fold
Búsqueda y evaluación eficientes de hiperparámetros del modelo
Conectar múltiples pasos de un flujo de trabajo de aprendizaje automático en una Pipeline
PyTorch es una biblioteca popular para el deep learning en Python, pero el enfoque de la biblioteca es el deep learning, no todo el aprendizaje automático. De hecho, busca el minimalismo, centrándose solo en lo que necesitas para definir y construir modelos de deep learning de manera rápida y simple. La biblioteca Scikit-learn en Python está construida sobre SciPy para cálculos numéricos eficientes. Es una biblioteca completamente equipada para el aprendizaje automático de propósito general y proporciona muchas utilidades útiles en el desarrollo de modelos de deep learning. No menos importantes son:
Evaluación de modelos utilizando métodos de re-muestreo como la validación cruzada k-fold
Búsqueda y evaluación eficientes de hiperparámetros del modelo
Conectar múltiples pasos de un flujo de trabajo de aprendizaje automático en una Pipeline
Los pesos de una red neuronal se denominan "parámetros" en el código de `PyTorch` y son ajustados por el optimizador durante el entrenamiento. En cambio, los hiperparámetros son los parámetros de una red neuronal que se fijan por diseño y no se ajustan durante el entrenamiento. Ejemplos de hiperparámetros incluyen el número de capas ocultas y la elección de las funciones de activación. La optimización de hiperparámetros es una parte crucial en el aprendizaje profundo, ya que las redes neuronales son notoriamente difíciles de configurar y requieren ajustar muchos parámetros. Además, entrenar modelos individuales puede ser muy lento.
En esta clase, descubrirás cómo utilizar la capacidad de búsqueda en cuadrícula (*Grid Search*) de la biblioteca Scikit-learn en Python para ajustar los hiperparámetros de modelos de aprendizaje profundo en PyTorch. Después de leer este capítulo, sabrás:
Cómo envolver modelos de PyTorch para usarlos en scikit-learn y cómo aplicar grid search.
Cómo hacer grid search en parámetros comunes de redes neuronales, como la tasa de aprendizaje, tasa de dropout, épocas de entrenamiento, y el número de neuronas.
Cómo definir tus propios experimentos de ajuste de hiperparámetros en tus proyectos.
Los pesos de una red neuronal se denominan "parámetros" en el código de `PyTorch` y son ajustados por el optimizador durante el entrenamiento. En cambio, los hiperparámetros son los parámetros de una red neuronal que se fijan por diseño y no se ajustan durante el entrenamiento. Ejemplos de hiperparámetros incluyen el número de capas ocultas y la elección de las funciones de activación. La optimización de hiperparámetros es una parte crucial en el aprendizaje profundo, ya que las redes neuronales son notoriamente difíciles de configurar y requieren ajustar muchos parámetros. Además, entrenar modelos individuales puede ser muy lento.
En esta clase, descubrirás cómo utilizar la capacidad de búsqueda en cuadrícula (*Grid Search*) de la biblioteca Scikit-learn en Python para ajustar los hiperparámetros de modelos de aprendizaje profundo en PyTorch. Después de leer este capítulo, sabrás:
Cómo envolver modelos de PyTorch para usarlos en scikit-learn y cómo aplicar grid search.
Cómo hacer grid search en parámetros comunes de redes neuronales, como la tasa de aprendizaje, tasa de dropout, épocas de entrenamiento, y el número de neuronas.
Cómo definir tus propios experimentos de ajuste de hiperparámetros en tus proyectos.
Los pesos de una red neuronal se denominan "parámetros" en el código de `PyTorch` y son ajustados por el optimizador durante el entrenamiento. En cambio, los hiperparámetros son los parámetros de una red neuronal que se fijan por diseño y no se ajustan durante el entrenamiento. Ejemplos de hiperparámetros incluyen el número de capas ocultas y la elección de las funciones de activación. La optimización de hiperparámetros es una parte crucial en el aprendizaje profundo, ya que las redes neuronales son notoriamente difíciles de configurar y requieren ajustar muchos parámetros. Además, entrenar modelos individuales puede ser muy lento.
En esta clase, descubrirás cómo utilizar la capacidad de búsqueda en cuadrícula (*Grid Search*) de la biblioteca Scikit-learn en Python para ajustar los hiperparámetros de modelos de aprendizaje profundo en PyTorch. Después de leer este capítulo, sabrás:
Cómo envolver modelos de PyTorch para usarlos en scikit-learn y cómo aplicar grid search.
Cómo hacer grid search en parámetros comunes de redes neuronales, como la tasa de aprendizaje, tasa de dropout, épocas de entrenamiento, y el número de neuronas.
Cómo definir tus propios experimentos de ajuste de hiperparámetros en tus proyectos.
Un modelo de aprendizaje profundo grande puede tardar mucho tiempo en entrenarse. Pierdes mucho trabajo si el proceso de entrenamiento se interrumpe en medio. Pero a veces, realmente deseas interrumpir el proceso de entrenamiento porque sabes que continuar no te dará un mejor modelo. En este capítulo, descubrirás cómo controlar el bucle de entrenamiento en PyTorch para que puedas reanudar un proceso interrumpido o detener el bucle de entrenamiento anticipadamente.
Después de completar esta clase, sabrás:
La importancia de guardar modelos de redes neuronales durante el entrenamiento.
Cómo guardar un modelo durante el entrenamiento y restaurarlo más tarde.
Cómo terminar el bucle de entrenamiento anticipadamente con el guardado de modelos.
Un modelo de aprendizaje profundo grande puede tardar mucho tiempo en entrenarse. Pierdes mucho trabajo si el proceso de entrenamiento se interrumpe en medio. Pero a veces, realmente deseas interrumpir el proceso de entrenamiento porque sabes que continuar no te dará un mejor modelo. En este capítulo, descubrirás cómo controlar el bucle de entrenamiento en PyTorch para que puedas reanudar un proceso interrumpido o detener el bucle de entrenamiento anticipadamente.
Después de completar esta clase, sabrás:
La importancia de guardar modelos de redes neuronales durante el entrenamiento.
Cómo guardar un modelo durante el entrenamiento y restaurarlo más tarde.
Cómo terminar el bucle de entrenamiento anticipadamente con el guardado de modelos.
PyTorch es una biblioteca de aprendizaje profundo. Puedes construir modelos de aprendizaje profundo muy sofisticados con PyTorch. Sin embargo, hay momentos en los que deseas tener una representación gráfica de la arquitectura de tu modelo. En esta clase, aprenderás:
Cómo guardar tu modelo de PyTorch en un formato de intercambio
Cómo usar Netron para crear una representación gráfica.
Puedes aprender mucho sobre redes neuronales y modelos de aprendizaje profundo observando su rendimiento a lo largo del tiempo durante el entrenamiento. Por ejemplo, si ves que el accuracy del entrenamiento empeora con las épocas de entrenamiento, sabes que tienes un problema con la optimización. Probablemente, tu tasa de aprendizaje es demasiado rápida. En este capítulo, descubrirás cómo revisar y visualizar el rendimiento de los modelos de PyTorch a lo largo del tiempo durante el entrenamiento. Al completar esta clase, sabrás:
Qué métricas recopilar durante el entrenamiento
Cómo graficar las métricas en conjuntos de datos de entrenamiento y validación a partir del entrenamiento
Cómo interpretar la gráfica para hablar sobre el modelo y el progreso del entrenamiento
Sección que dispondrá de una serie de recursos y enlaces interesantes para poder complementar eficazmente la formación del curso.
Máster Especialista de Deep Learning en Python con PyTorch.
Redes Neuronales Profundas con PyTorch: Diseño, Implementación y Evaluación de Modelos Neuronales desde 0 a experto.
Instructor: PhD. Manuel Castillo-Cara
Requisitos previos: Se recomienda tener conocimientos sobre Machine Learning. Se recomienda realizar previamente siguiente curso de Udemy:
Machine Learning con Python. Aprendizaje Automático Avanzado - Aprendizaje Automático Scikit-Learn en Python. Modelos Predictivos. Data Science. De básico a Experto.
Descripción del Curso:
Bienvenido al curso de Deep Learning con Python y PyTorch. En este curso exploraremos a fondo la librería PyTorch de Python para Deep Learning, aprendiendo cómo utilizarla para desarrollar y evaluar modelos de Deep Learning avanzados. Nuestro objetivo es proporcionarte las técnicas, el código y las habilidades necesarias para que puedas aplicar el Deep Learning en tus propios proyectos innovadores.
PyTorch se ha convertido en una de las herramientas más potentes y flexibles en el campo del aprendizaje profundo. A diferencia de otras librerías, PyTorch ofrece un enfoque dinámico y intuitivo para la construcción de redes neuronales, permitiéndote definir y modificar tus modelos con gran facilidad.
En este curso, nos centraremos en el desarrollo práctico de modelos de Deep Learning utilizando PyTorch. Comenzaremos con los fundamentos y avanzaremos hacia técnicas más sofisticadas, permitiéndote construir una base sólida que podrás expandir en el futuro según tus necesidades y proyectos específicos.
Hemos elegido PyTorch como nuestra plataforma principal debido a su capacidad para desarrollar rápidamente modelos de Deep Learning potentes y eficientes. PyTorch combina la potencia de la computación GPU con una API intuitiva, lo que nos permitirá concentrarnos en la lógica de nuestros modelos en lugar de preocuparnos por los detalles de bajo nivel.
A lo largo del curso, aprenderás:
Cómo utilizar tensores en PyTorch para manipular datos eficientemente
Técnicas de construcción y entrenamiento de redes neuronales profundas
Implementación de arquitecturas avanzadas como CNNs y RNNs
Optimización y ajuste fino de modelos para mejorar su rendimiento
Técnicas de transferencia de aprendizaje y cómo aplicarlas en PyTorch
Cómo desplegar tus modelos en entornos de producción
Este curso está diseñado para personas con conocimientos previos en Machine Learning y programación en Python. Si ya tienes experiencia con conceptos básicos de aprendizaje automático y estás listo para sumergirte en el fascinante mundo del Deep Learning, este curso te proporcionará las herramientas y conocimientos necesarios para destacar en este campo en constante evolución.
Prepárate para un viaje emocionante en el mundo del Deep Learning con PyTorch, donde transformarás tus ideas en modelos poderosos y aplicaciones innovadoras.
Contenidos del Curso:
MÓDULO I. Fundamentos de Deep Learning.
Conceptos básicos de Deep Learning.
Jupyter Notebook como nuestro entorno de trabajo.
Google Colab como nuestro entorno de trabajo.
Curso rápido de Python, TensorFlow, PyTorch y Theano.
MÓDULO II. Redes Neuronales profundas.
Curso sobre Multilayer Perceptron
Desarrollar nuestra primera red neuronal con PyTorch.
Evaluar el rendimiento de los modelos.
Utilice modelos de PyTorch con Scikit-Learn para Machine Learning.
Proyecto: Problema de clasificación multiclase.
Proyecto: Problema de clasificación binaria.
Proyecto: Problema de regresión.
MODULO III. Redes Neuronales profundas - Conceptos avanzados.
Guardar modelos para hacer predicciones.
Mantener puntos de control en el entrenamiento de los modelos.
Funciones de activación.
Funciones de pérdida.
Optimización de hiperparámetros
Comprender el comportamiento del modelo durante el entrenamiento trazando el historial.
Reducir el sobreajuste con la regularización Dropout.
Optimizar el rendimiento con una planificación basada en la tasa de aprendizaje.
MÓDULO IV. Redes Neuronales Convolucionales.
Curso intensivo en redes neuronales convolucionales.
Optimizar el rendimiento del modelo con Data Augmentation.
Desarrollar modelos CNN complejos.
Analizar como son los mapas de caracteristas en la opreación convolución.
MÓDULO V. Redes Neuronales Recurrentes.
Curso intensivo en redes neuronales recurrentes.
Modelos de perceptrones multicapa para problemas de series de tiempo.
Modelos LSTM para problemas de series temporales.
Comprensión del estado en modelos LSTM para predicción de secuencias.
Modelos LSTM en Procesamiento de Lenguaje Natural
Proyecto: Generación de texto.
Actividad virtual
Sesiones de videoconferencias
Análisis de casos
Foros de discusión
Trabajos parciales de los módulos
Examen tipo test
Lecturas comentadas y
Búsquedas de información científica.
Procedimiento de la formación:
La formación te permitirá convertirte en un experto en la materia, y todo ello desde una formación principalmente práctica. A través de variadas actividades y proyectos completos podrás adquirir los conocimientos suficientes para ejercer profesionalmente de forma solvente. Además conocerás en detalle mi flujo de trabajo a la hora de afrontar un proyecto profesional. Para la realización de este curso no vas a necesitar el equipo informático más potente del mercado, ya que el software empleado durante formación online se encuentra perfectamente optimizado y su uso es muy fluido en todo tipo de equipos, tanto en PC como en Mac.
El aprendizaje será un proceso continuo donde los estudiantes tienen la oportunidad de ir trabajando con el editor de texto practicando lo expuesto en la parte de teoría.
Puedes elegir ver todas las lecciones de forma secuencial (lineal) y aprovecharlas al máximo la formación. Pero también puedes decidir ver este curso como una guía de referencia. Las clases están claramente organizadas en secciones lógicas y puedes decidir visualizar solo las clases que te resulten más importantes según tus necesidades formativas. A excepción de las lecciones PRO, la mayoría de las lecciones son independientes para que puedas comprender los conceptos de cada lección sin tener que ver las lecciones anteriores del curso.
Es excepcional el aumento en la demanda de profesionales en este ámbito por parte de las empresas de todo el mundo actualmente. Para desarrollar el programa formativo propuesto no ser requieren grandes conocimientos previos, ya que la formación se acomete desde un nivel de usuario 0. El curso está orientado a aquellos creativos que quieran ampliar sus skills (habilidades) y conocer múltiples trucos, consejos, recursos y recomendaciones, de la mano del instructor Dr. Manuel Castillo-Cara. Además todas las formaciones de Udemy disponen acceso automático al curso, sin limitación de tiempo, disponibilidad 24/7 (24 horas al día los 7 días de la semana), sin caducidad y con garantía de devolución.
Características del Curso:
Recuerda que esta formación incluye lecciones en vídeo fullHD con audio de estudio (compatible con TV, PC, Mac, tablet y smartphone), artículos didácticos, actividades, proyectos paso a paso, recursos descargables, links de interés, acceso de por vida, certificado de finalización, tutorización online, y una exclusiva comunidad de aprendizaje privada que nos ayudamos aportando nuestras experiencias en el foro de comunicación del curso.
¿A qué esperas?, este curso es ideal para ti, atrévete a convertirte en un experto. Adelante, nos vemos dentro de la formación.