Author: | Wu, You |
Duration: | December 17th, 2024 - January 21st, 2025 |
Project Report: | Copyright © 2025 Wu, You |
The repository contains implementation of state-of-the-art machine learning architectures for scientific and engineering tasks. It consists of three projects, serving as the final submission for the course AI in Sciences and Engineering 401-4656-21L at ETH Zürich.
Project | Topic | Task |
---|---|---|
1 | Fourier Neural Operator (FNO) | |
2 | Data-driven discovery of partial differential equations (PDE-Find) | |
3 | FNO for Transfer Learning |
In the projects listed above, we cover a wide range of SciML topics including operator learning between infinite-dimensional function spaces, data-driven system discovery where we focus on symbolic regression of unknown PDE systems. In the last project, we leverage the technique of transfer learning and aim to use the FNO architecture and build a simple foundation model for phase-field dynamics.
- Create and activate virtual environment:
python3 -m venv venv
source venv/bin/activate # Linux/Mac
# or
.\venv\Scripts\activate # Windows
- Install Git LFS (for fetching trained models under
project_X/checkpoints
):
If you are working on your local machine, the git LFS for large file storage can be installed and used by:
pip install git-lfs
git lfs install
git lfs pull
otherwise you could install git-lfs via some package manager on the cluster like spack with:
spack install git-lfs
spack load git-lfs # then you can load the module and proceed with pulling LFS files
- Install dependencies:
pip install -r requirements.txt
- Original project handouts locates under the
assets/
directory - Each project
X ∈ {1, 2, 3}
contains:
For the project report, experiments were conducted on the piora
cluster from the student cluster competition team RACKlette @ ETHZ using the hardware & software configuration as follows:
CPU Model | CPU Core Info | Memory |
---|---|---|
AMD EPYC 7773X 64-Core Processor | 128 Cores (2 Sockets × 64 Cores), 3.5 GHz max | 1.0 TiB RAM + 15 GiB Swap |
Python | Deep Learning Framework | OS |
Python 3.11.9 | PyTorch 2.5.1+cu124 | Rocky Linux 9.4 (Blue Onyx) |
GPU | CUDA | CPU Architecture |
NVIDIA A100 80GB PCIe | CUDA 12.4 | x86_64 |