Skip to content

CFNO is a variant of Fourier Neural Operators that uses a Chebychev expansion in the vertical direction.

License

Notifications You must be signed in to change notification settings

Parallel-in-Time/cfno

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Chebyshev Fourier Neural Operators (CFNO)

📜 Extension of the Fourier Neural Operators to PDE problems solved using pseudo-spectral (Chebyshev) space discretization methods.

Content

  • 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

Installation

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 with pip 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 the neuralpint 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

How to use the code

See the full pipeline description in scripts. In particular, the main code parts it uses are :

Acknowledgements

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.