Este repositorio contiene material relacionado con el programa Deep Learning Nanodegree de Udacity . Consiste en un montón de cuadernos de tutoría para varios temas de aprendizaje profundo. En la mayoría de los casos, los portátiles lo guían a través de la implementación de modelos como redes convolucionales, redes recurrentes y GAN. Hay otros temas cubiertos, como la inicialización de peso y la normalización de lotes.
También hay cuadernos utilizados como proyectos para el programa Nanodegree. En el programa en sí, los proyectos son revisados por personas reales (revisores de Udacity), pero el código de inicio también está disponible aquí.
Tabla de contenido
Tutoriales
Introducción a las redes neuronales
- Introducción a las redes neuronales : aprenda cómo implementar el descenso de gradiente y aplíquelo a los patrones de predicción en los datos de admisión de estudiantes.
- Análisis de sentimiento con NumPy : Andrew Trask lo guía a través de la construcción de un modelo de análisis de sentimiento, prediciendo si algún texto es positivo o negativo.
- Introducción a PyTorch : aprenda cómo construir redes neuronales en PyTorch y use redes pre-entrenadas para los clasificadores de imágenes de vanguardia.
Redes neuronales convolucionales
- Redes neuronales convolucionales : visualice la salida de las capas que conforman una CNN. Aprenda a definir y entrenar a una CNN para clasificar los datos del MNIST , una base de datos escrita a mano que es notoria en los campos de la máquina y el aprendizaje profundo. Además, defina y capacite a una CNN para clasificar imágenes en el conjunto de datos CIFAR10 .
- Transferencia de aprendizaje . En la práctica, la mayoría de las personas no entrenan sus propias redes en grandes conjuntos de datos; Utilizan redes pre-entrenadas como VGGnet. Aquí, utilizará VGGnet para ayudar a clasificar las imágenes de flores sin tener que entrenar desde cero una red de extremo a extremo.
- Inicialización de peso : explore cómo la inicialización de los pesos de red afecta el rendimiento.
- Codificadores automáticos : construya modelos para la compresión y eliminación de imágenes, utilizando redes de avance y convolucionales en PyTorch.
- Transferencia de estilo : extraiga las características de estilo y contenido de las imágenes, utilizando una red pre-entrenada. Implementar la transferencia de estilo según el documento, Transferencia de estilo de imagen usando redes neuronales convolucionales por Gatys et. Alabama. ¡Defina las pérdidas apropiadas para crear de forma iterativa una imagen objetivo, transferida por estilo de su propio diseño!
Redes neuronales recurrentes
- Introducción a las redes recurrentes (series temporales y RNN a nivel de caracteres) : las redes neuronales recurrentes pueden usar información sobre la secuencia de datos, como la secuencia de caracteres en el texto; Aprenda cómo implementar estos en PyTorch para una variedad de tareas.
- Incrustaciones (Word2Vec) : implemente el modelo de Word2Vec para encontrar representaciones semánticas de palabras para usar en el procesamiento de lenguaje natural.
- Análisis de opinión RNN : implemente una red neuronal recurrente que pueda predecir si el texto de una revisión en movimiento es positivo o negativo.
- Atención : implementar la atención y aplicarla a los vectores de anotación.
Redes de Publicidad Generativas.
- Red adversa generativa en MNIST : capacite una red adversarial generativa simple en el conjunto de datos MNIST.
- Normalización de lotes : aprenda cómo mejorar las tasas de capacitación y la estabilidad de la red con las normalizaciones de lotes.
- GAN de convolución profunda (DCGAN) : implemente un DCGAN para generar nuevas imágenes basadas en el conjunto de datos de Números de casa de Street View (SVHN).
- CycleGAN : Implementa un CycleGAN que está diseñado para aprender de datos no emparejados y no etiquetados; Use generadores entrenados para transformar imágenes de verano a invierno y viceversa.
Implementación de un modelo (con AWS SageMaker)
- Todos los cuadernos de ejercicios y proyectos para las lecciones sobre la implementación del modelo se pueden encontrar en el repositorio vinculado de Github. Aprenda a implementar modelos pre-entrenados usando AWS SageMaker.
Proyectos
- Predicción de patrones de bicicletas compartidas : implemente una red neuronal en NumPy para predecir el alquiler de bicicletas.
- Clasificador de razas de perros : cree una red neuronal convolucional con PyTorch para clasificar cualquier imagen (incluso una imagen de una cara) como una raza de perro específica.
- Generación de secuencias de comandos de TV : capacite a una red neuronal recurrente para generar secuencias de comandos en el estilo de diálogo de Seinfeld.
- Generación de rostros : use un DCGAN en el conjunto de datos CelebA para generar imágenes de rostros humanos nuevos y realistas.
Material electivo
- Introducción a TensorFlow : comenzar a construir redes neuronales con TensorFlow.
- Keras : Aprende a construir redes neuronales y redes neuronales convolucionales con Keras.
Dependencias
Configura y gestiona tu entorno con Anaconda
Conda es un sistema de gestión de paquetes de código abierto y un sistema de gestión del entorno para instalar múltiples versiones de paquetes de software y sus dependencias y cambiar fácilmente entre ellos. Funciona en Linux, OS X y Windows, y se creó para los programas de Python, pero puede empaquetar y distribuir cualquier software.
Visión general
Usar Anaconda consiste en lo siguiente:
- Instale
minicondaen su computadora, seleccionando la última versión de Python para su sistema operativo. Si ya lo tienecondao lo haminicondainstalado, debería poder omitir este paso y pasar al paso 2. - Crea y activa * un nuevo
condaentorno .
* ¡Cada vez que desees trabajar en cualquier ejercicio, activa tu
condaentorno!1. Instalación
Descargue la última versión
minicondaque coincida con su sistema.| Linux | Mac | Windows | |
|---|---|---|---|
| 64 bits | 64 bits (instalador bash) | 64 bits (instalador bash) | 64 bits (instalador exe) |
| 32 bits | 32 bits (instalador bash) | 32 bits (instalador exe) |
- Linux: http://conda.pydata.org/docs/install/quick.html#linux-miniconda-install
- Mac: http://conda.pydata.org/docs/install/quick.html#os-x-miniconda-install
- Windows: http://conda.pydata.org/docs/install/quick.html#windows-miniconda-install
2. Crear y activar el entorno.
Para los usuarios de Windows, estos comandos siguientes deben ejecutarse desde el indicador de Anaconda en lugar de una ventana de terminal de Windows. Para Mac, una ventana de terminal normal funcionará.
Git y control de versiones.
Estas instrucciones también suponen que ha
gitinstalado para trabajar con Github desde una ventana de terminal, pero si no lo hace, puede descargarlo primero con el comando:conda install git
Si desea obtener más información sobre el control de versiones y el uso
gitdesde la línea de comandos, eche un vistazo a nuestro curso gratuito: Control de versiones con Git .
¡Ahora estamos listos para crear nuestro entorno local!
- Clona el repositorio y navega a la carpeta descargada. Esto puede tardar uno o dos minutos en clonarse debido a los datos de imagen incluidos.
git clone https://github.com/udacity/deep-learning-v2-pytorch.git
cd deep-learning-v2-pytorch
- Cree (y active) un nuevo entorno, nombrado
deep-learningcon Python 3.6. Si se le solicita que proceda con el(Proceed [y]/n)tipo de instalación y.- Linux o Mac :
conda create -n deep-learning python=3.6 source activate deep-learning- Windows :
conda create --name deep-learning python=3.6 activate deep-learningEn este punto la línea de comandos debería ser algo como:(deep-learning) <User>:deep-learning-v2-pytorch <user>$. Esto(deep-learning)indica que su entorno se ha activado y puede continuar con la instalación de paquetes adicionales. - Instale PyTorch y Torchvision; Esto debería instalar la última versión de PyTorch.
- Linux o Mac :
conda install pytorch torchvision -c pytorch- Windows :
conda install pytorch -c pytorch pip install torchvision - Instale algunos paquetes pip necesarios, que se especifican en el archivo de texto de requisitos (incluido OpenCV).
pip install -r requirements.txt
- ¡Eso es!
Ahora la mayoría de las
deep-learningbibliotecas están disponibles para usted. Muy ocasionalmente, verá un repositorio con un archivo de requisitos de adición, que existe si desea usar TensorFlow y Keras, por ejemplo. En este caso, se recomienda que instale otra biblioteca en su entorno existente o que cree un nuevo entorno para un proyecto específico.
Ahora, suponiendo que su
deep-learningentorno aún esté activado, puede navegar hasta el repositorio principal y comenzar a mirar los cuadernos:cd
cd deep-learning-v2-pytorch
jupyter notebook
Para salir del entorno cuando haya completado su sesión de trabajo, simplemente cierre la ventana del terminal.
Comentarios
Publicar un comentario
Todos sus comentarios seran bienvenidos, no se admiten insultos todo con el debido respeto que se merece cada persona, o de lo contrario seran eliminado cada comentario inrespetuoso hacia los demas. y autores del blog tambien puedes seguirnos en:
Facebook: https://www.facebook.com/groups/HackingTeamCyber/
Grupo de Telegram: https://t.me/TheHackForceOfficial
Canal de Youtube: https://www.youtube.com/channel/UCXy8Lg28OuGuI5Z-2EWJaNA?view_as=subscriber
Canal Vimeo: https://vimeo.com/403136547?activityReferer=1
Red Social Twitter: https://twitter.com/TheHackForce