📜 Extension of the Fourier Neural Operators to PDE problems solved using pseudo-spectral (Chebyshev) space discretization methods.
- cfno : base Python module for CFNO
- dedalus : scripts to run RBC simulations with Dedalus and pySDC
- docs : some documentations about the FNO
- script : scripts for the full training pipeline (data generation, training, evaluation)
- utils : utility scripts for cluster run
In this folder, run this command to install cfno
in your environment :
pip install -e .
The
-e
option installs in editable mode, which means any modification in the code won't need a re-installation to take the change into account.
You can also use the
--user
option withpip
to install without admin rights.
Additional dependencies :
-
dedalus
: spectral discretization for RBC. Recommended installation approach: build from source. -
pySDC
: base package for SDC, need to be installed using a development version available in theneuralpint
branch of its main Github repo. To do that :
# Somewhere in a root folder ...
git clone https://github.com/Parallel-in-Time/pySDC.git
cd pySDC
git switch neuralpint
pip install -e .
Some changes may happen regularly on the development branch, to update your own version simply do
# In the pySDC repo
git pull
See the full pipeline description in scripts. In particular, the main code parts it uses are :
- cfno.models.cfno2d : implementation of the CFNO model
- cfno.losses : module for the different losses
- cfno.training.pySDC : base
FourierNeuralOp
class used for training and / or inference - cfno.data.preprocessing :
HDF5Dataset
class andcreateDataset
function used to create training datasets
This project has received funding from the European High-Performance Computing Joint Undertaking (JU) under grant agreement No 101118139 (Inno4Scale - NeuralPint). The JU receives support from the European Union's Horizon 2020 research and innovation programme.