Este repositorio contiene el material de los cursos de la Escuela de verano en aprendizaje profundo, en la cual se abordarán los fundamentos y arquitecturas más importantes de redes neuronales con prácticas de programación. Puedes descargalo comprimido o clonarlo con Git.
La mayoría de las prácticas de los talleres se desarrollarán en Python 3.7+ usando la biblioteca Tensorflow 2.0, que adopta Keras como interfaz de alto nivel para construir y entrenar redes neuronales.
Cosas para preparar
- Una laptop
- Este repositorio de GitHub clonado y actualizado antes del taller
- Un sentido aventurero en los datos
- Un ambiente Python 3.7+ con Anaconda (ver opciones 1 y 2 abajo)
Los talleres serán impartidos usando notebooks de Jupyter, documentos con código ejecutable, texto, ecuaciones, visualizaciones, imágenes y demás material. Los notebooks se pueden crear y ejecutar en la nube via Google Colab (opción 1) o de manera local en tu computadora a través de Jupyter Notebooks (opción 2).
Colab es un servicio de Google para ejecutar notebooks en la nube. Provee ambientes de Python 2 y 3 con CPUs, GPUs y TPUs. ¡Y es gratis! Solo necesitas tener una cuenta de Google o crear una.
Recomendamos que elijas un ambiente con Python 3 y GPU. Para activarlo:
- Abre el menú
Entorno de ejecución
- Elige la opción
Restablecer todos los entornos de ejecución...
. - Vuelve a abrir
Entorno de ejecución
- Elige
Cambiar tipo de entorno de ejecución
- Selecciona Python 3 como
Tipo de ejecución
y GPU de la lista deAcelerador por hardware
La siguiente captura de pantalla ilustra este proceso.
En Colab puedes crear un nuevo notebook, subir uno existente desde tu computadora o importarlo de Google Drive o GitHub.
Para tener la versión de Python 3.7+ y todas las bibliotecas instaladas en cualquier plataforma, recomendamos que uses Anaconda y generes un ambiente con el archivo environment.yml
de este repositorio usando una terminal y el comando:
conda env create -n escueladl -f environment_cpu.yml
Cambia el nombre escueladl
por tu nombre favorito para el ambiente. Si cuentas con un GPU Nvidia y deseas aprovecharlo cambia el archivo environment_cpu.yml
a environment_gpu.yml
.
Para activar el ambiente que creaste, en una terminal ingresa el comando
conda activate escueladl
Una vez activado, puedes ejecutar la aplicación de Jupyter Notebook
jupyter notebook
Este comando abrirá una pestaña o ventana en tu navegador web, como se muestra en la siguiente captura de pantalla:
Al igual que en Google Colab, puedes crear un nuevo notebook seleccionando el botón New
y posteriormente Python 3
. De forma alternativa, puedes abrir uno existente seleccionando el archivo del notebook (con extensión .ipynb
) dentro del directorio donde ejecutaste Jupyter Notebook. Con el botón Upload
agregas archivos que se encuentran en otra parte de tu computadora a este directorio. Para cerrar Jupyter Notebook, presiona el botón Quit
y posteriormente cierra la pestaña o ventada de tu navegador web.
Para desactivar el ambiente escueladl
de Anaconda simplemente haz
conda deactivate
- Fashion MNIST
- Calificaciones. Fuente: Online Stat Book
- Dogs vs Cats. Fuente: Kaggle
- Breast Cancer Histopatology
- ATLAS Higgs Boson
- Firmas moleculares
- CONLL 2018
- ZINC15
Si deseas profundizar y continuar practicando, estos son algunos recursos disponibles en Internet.
- Tensorflow
- Pytorch
- Caffee 2
- CNTK
- Apache MXNet
- LightGBM
- Useful extra functionality for TensorFlow 2.0
- Libros
- Deep Learning de Ian Goodfellow, Aaron Courille y Yoshua Bengio
- Neural Networks and Deep Learning de Michael Nielsen
- Deep Learning with Python de Francois Chollet
- Cursos de en línea
- Congresos
- Blogs
- Blog de Chris Olah
- Blog de Andrej Karpathy
- A Recipe for Training Neural Networks
- What a Deep Neural Network thinks about your #selfie
- Lessons learned from manually classifying CIFAR-10
- What I learned from competing against a ConvNet on ImageNet
- The Unreasonable Effectiveness of Recurrent Neural Networks
- Breaking Linear Classifiers on ImageNet
- Blog de Sebastian Ruder
- blog de fast.ai
- New Theory Cracks Open the Black Box of Deep Learning
- Epoch vs Batch Size vs Iterations
- Artículos
- Videos
- Notebooks