Configuración completa para el proyecto lectures-labs
Este proyecto proporciona materiales de apoyo para un curso de aprendizaje profundo, incluyendo diapositivas y notebooks Jupyter. A continuación se detalla el proceso para configurar un entorno de desarrollo funcional tanto local como en la nube.
Preparación del entorno local
1. Instalación de Miniforge3
Se recomienda utilizar Miniforge3, una distribución ligera de conda que utiliza el canal conda-forge por defecto. Descargue el instalador correspondiente a su sistema operativo desde el sitio oficial.
2. Creación de un entorno aislado
Para evitar conflictos de dependencias, cree un entorno dedicado con Python 3.9:
conda create -n entorno_dl python=3.9
conda activate entorno_dl
3. Instalación de dependencias esenciales
Instale las bibliotecas principales necesarias para el proyecto:
conda install -y tensorflow scikit-learn pandas jupyterlab matplotlib-base
conda install -y h5py pillow scikit-image lxml pip ipykernel
4. Verificación de la instalación
Compruebe que TensorFlow se instaló correctamente:
python -c "import tensorflow as tf; print(tf.__version__)"
5. Configuración del kernel de Jupyter
Registre el entorno como kernel en Jupyter para poder seleccionarlo desde la interfaz:
python -m ipykernel install --user --name entorno_dl --display-name "Entorno DL"
6. Componentes opcionales
Para funcionalidad adicional relacionada con procesamiento de imágenes, se puede instalar OpenCV:
python -m pip install opencv-python
Estructura del proyecto y elementos clave
La distribución del repositorio se organiza principalmente en dos carpetas:
- Directorio labs/: Contiene los ejercicios prácticos, organizados por temas. Cubre desde los fundamentos de Keras hasta modelos generativos, incluyendo redes convolucionales y arquietcturas para aprendizaje no supervisado.
- Directorio slides/: Alberga las presentacioens teóricas que complementan los ejercicios prácticos.
- Archivo requirements.txt: Especifica todas las dependencias de Python y sus versiones compatibles.
Despliegue en plataformas en la nube
1. Preparación inicial
Clone el repositorio en la instancia de nube seleccionada:
git clone https://gitcode.com/gh_mirrors/le/lectures-labs
cd lectures-labs
2. Configuración del servidor
En instancias con GPU disponible (como las ofrecidas por AWS, Google Cloud o proveedores nacionales), repita los pasos de instalación del entorno local.
3. Ejecución del servicio Jupyter
Inicie JupyterLab para acceso remoto con los siguientes parámetros:
jupyter lab --ip=0.0.0.0 --port=8888 --no-browser
Acceda mediante la dirección IP del servidor y el puerto configurado. Utilice el token mostrado en la terminal para la autenticación.
4. Persistencia de datos
- Almacene conjuntos de datos voluminosos en servicios de almacenamiento en la nube (S3, GCS, etc.).
- Utilice los scripts
data_download.ipynbdentro de los directorios de laboratorio para obtener los datos necesarios. - Guarde regularmente los pesos de los modelos entrenados en un directorio seguro.
Solución de problemas comunes
Conflictos de dependencias
Priorice el uso de conda sobre pip para la instalación principal. Verifique que las rutas de pip correspondan al entorno activo:
which pip
python -m pip show pip
Problemas con kernels de Jupyter
Si el kernel no aparece en la lista, ejecute nuevamente el comando de instalación del kernel. Puede cambiar de kernel desde el menú en la interfaz de Jupyter.
Recursos computacionales limitados
Al trabajar localmente con modelos grandes, reduzca el tamaño del lote (batch size). Considere utilizar las GPUs gratuitas ofrecidas por servicios como Google Colab para experimentos iniciales.
Primeros pasos con los ejercicios
Una vez configurado el entorno, se sugiere comenzar con los siguientes notebokos:
- Introducción a Keras en el directorio de laboratorios iniciales.
- Ejercicio de redes convolucionales pre-entrenadas para clasificación de imágenes.
- Implementación de una red generativa adversarial convolucional profunda.
Las soluciones de referencia se encuentran disponibles en la subcarpeta solutions de cada ejercicio.