DEEP LEARNING
Deep Learning es un subconjunto de Machine Learning en el que redes neuronales artificiales aprenden de una gran cantidad de datos. Se utiliza para resolver problemas complejos aun cuando se usen datos que son muy diversos, no estructurados e interconectados. Se aplica en diferentes campos tales como visión por computadoras, reconocimiento de señales de audio, música y voz.
Para realizar estudios de Deep Learning se puede usar Tensorflow/Keras, Theano, PyTorch, Matlab, entre otros.
Se recomienda a los usuarios que trabajan Deep Learning con Python el uso de entornos virtuales. Estos entornos permiten encapsular todas las bibliotecas de Python que se necesitan sin interferir con las del sistema del HPC UO. Vea los detalles para:
- Pytorch
Envío de trabajos con Deep Learning al HPC UO
Para ejecutar un código con los entornos virtuales, se debe usar el siguiente script y enviarlo con el comando sbatch:
#!/bin/bash #SBATCH --partition=gpu #SBATCH --job-name= # Nombre del trabajo #SBATCH --nodes=1 #SBATCH --ntasks=1 #SBATCH --gres=gpu:m10:1 #SBATCH -o slurm.%N.%j.out # STDOUT #SBATCH -e slurm.%N.%j.err # STDERR # Cambiar al directorio de envío cd $SLURM_SUBMIT_DIR # Activar entorno virtual source ~/.bashrc conda activate <nombre_entorno_virtual> # Ejecutar el programa python <nombre_del_codigo>.py
Uso de la base de datos MNIST
En el caso de que se use la base de datos MNIST, los usuarios no deben descargar la misma en sus $HOME. Existe una copia en el directorio /opt del clúster para uso de todos los usuarios. Solamente hay que explicitar la ubicación de la misma “/opt/apps/databases/mnist” en el fichero .py.