Bienvenidos al repositorio de ejercicios del curso "Redes neuronales informadas por física". El material presentado está vinculado al material didáctico presente en el campus académico del curso.
Toas las prácticas pueden ejecutarse a través de Google Colab. Colab es la plataforma basada en la nube que permite escribir y ejecutar código desarrollado en Python en un entorno web. Proporciona acceso a recursos de computación, incluidos GPUs. No se requiere instalación, ya que todo se ejecuta en un navegador web. Se instalan bibliotecas adicionales según sea necesario.
- NumPy: herramientoa para cálculo numérico y manipulación matricial.
- SciPy: funciones matemáticas avanzadas y herramientas de optimización.
- Matplotlib: visualización de datos y gráficos.
Juntas, estas librerías proporcionan un conjunto de herramientas completo completo para el análisis de datos, la computación científica y la visualización de datos para el Teaching Kit. Puede usarse Miniconda para instalar y gestionar estas bibliotecas.
Documentación:
Pytorch y TensorFlow son los frameworks de deep learning empleados en el curso. Puede usarse Miniconda para instalar y gestionar estas librerías.
- Pytorch: conocido por sus grafos de computación dinámico, lo hace flexible para el desarrollo de modelos de aprendizaje profundo.
- TensorFlow: ampliamente utilizado para construir y entrenar redes neuronales profundas, ofrece APIs de alto nivel para un desarrollo rápido y control de bajo nivel.
Documentación:
En caso de trabajar en local, se recomienda emplear Miniconda. Se trata de un instalador mínimo gratuito para conda. Es una versión bootstrap pequeña de Anaconda que incluye solo conda, Python, los paquetes de los que ambos dependen y un pequeño número de otros paquetes útiles. Resulta versatil para crear entornos independientes de programación. Puede descargarse desde aquí.
Si se cuenta con GPUs, se debe instalar el compilador que permita el cómputo en paralelo.
- CUDA: modelo de programación desarrollado por NVIDIA. Se pueden escribir programas en lenguajes como C, C++ y Fortran, y ejecutar cálculos en paralelo en la GPU.
- ROCm: se trata de una pila de software de código abierto diseñada para el desarrollo de soluciones de inteligencia artificial (IA) y computación de alto rendimiento (HPC) en las GPU de AMD.
IMPORTANTE: en el curso se trabajará con configuraciones orientadas al empleo de CUDA
Documentación para descarga:
- CUDA (en el caso de Windows, ver también la siguiente sección).
- ROCm (Linux); ROCm (Windows)
Muchos de las herramientas necesarias para desarrollar modelos PINN, fueron concebidas en Linux, por lo que en ciertos casos resulta más oficiente trabajar en dicho SO. Puede ocurrir que se cuente con Windows como sistema operativo nativo y no sea posible migrar a Linux. En ese caso, se puede emplear Windows systems for linux (WSL). Se trata de una característica de Windows que permite ejecutar un entorno Linux en la máquina Windows, sin necesidad de una máquina virtual independiente ni de arranque dual. Además, es posible programar con Visual Studio Code desde Windows, conextándose al entorno de WSL.
Como se trabajará con configuraciones orientadas al empleo de CUDA, seguir las instrucciones de instalación especificadas aquí.
Puede clonarse el repositorio en una máquina local y acceder, por ejemplo, al módulo 2 (empleando clave SSH en distintos SO, ver generación aquí y su incorporación aquí):
git clone [email protected]:FIUBA-Posgrado-Inteligencia-Artificial/CEIA-PINN.git
cd ‘modulo 2 - repaso fisica matematica’