| | --- |
| | datasets: polymathic-ai/helmholtz_staircase |
| | tags: |
| | - physics |
| | --- |
| | |
| | # Benchmarking Models on the Well |
| |
|
| | [The Well](https://github.com/PolymathicAI/the_well) is a 15TB dataset collection of physics simulations. This model is part of the models that have been benchmarked on the Well. |
| |
|
| |
|
| | The models have been trained for a fixed time of 12 hours or up to 500 epochs, whichever happens first. The training was performed on a NVIDIA H100 96GB GPU. |
| | In the time dimension, the context length was set to 4. The batch size was set to maximize the memory usage. We experiment with 5 different learning rates for each model on each dataset. |
| | We use the model performing best on the validation set to report test set results. |
| |
|
| | The reported results are here to provide a simple baseline. **They should not be considered as state-of-the-art**. We hope that the community will build upon these results to develop better architectures for PDE surrogate modeling. |
| |
|
| | # Fourier Neural Operator |
| |
|
| | Implementation of the [Fourier Neural Operator](https://arxiv.org/abs/2010.08895) provided by [`neuraloperator v0.3.0`](https://neuraloperator.github.io/dev/index.html). |
| |
|
| | ## Model Details |
| |
|
| | For benchmarking on the Well, we used the following parameters. |
| |
|
| | | Parameters | Values | |
| | |-------------|--------| |
| | | Modes | 16 | |
| | | Blocks | 4 | |
| | | Hidden Size | 128 | |
| |
|
| |
|
| | ## Trained Model Versions |
| |
|
| | Below is the list of checkpoints available for the training of FNO on different datasets of the Well. |
| |
|
| | | Dataset | Best Learning Rate | Epochs | VRMSE | |
| | |----------------------------------------|--------------------|--------|--------| |
| | | [acoustic_scattering_maze](https://huggingface.co/polymathic-ai/FNO-acoustic_scattering_maze) | 1E-3 | 27 | 0.5033 | |
| | | [active_matter](https://huggingface.co/polymathic-ai/FNO-active_matter) | 5E-3 | 239 | 0.3157 | |
| | | [convective_envelope_rsg](https://huggingface.co/polymathic-ai/FNO-convective_envelope_rsg) | 1E-4 | 14 | 0.0224 | |
| | | [gray_scott_reaction_diffusion](https://huggingface.co/polymathic-ai/FNO-gray_scott_reaction_diffusion) | 1E-3 | 46 | 0.2044 | |
| | | [helmholtz_staircase](https://huggingface.co/polymathic-ai/FNO-helmholtz_staircase) | 5E-4 | 132 | 0.00160| |
| | | [MHD_64](https://huggingface.co/polymathic-ai/FNO-MHD_64) | 5E-3 | 170 | 0.3352 | |
| | | [planetswe](https://huggingface.co/polymathic-ai/FNO-planetswe) | 5E-4 | 49 | 0.0855 | |
| | | [post_neutron_star_merger](https://huggingface.co/polymathic-ai/FNO-post_neutron_star_merger) | 5E-4 | 104 | 0.4144 | |
| | | [rayleigh_benard](https://huggingface.co/polymathic-ai/FNO-rayleigh_benard) | 1E-4 | 32 | 0.6049 | |
| | | [rayleigh_taylor_instability](https://huggingface.co/polymathic-ai/FNO-rayleigh_taylor_instability) | 5E-3 | 177 | 0.4013 | |
| | | [shear_flow](https://huggingface.co/polymathic-ai/FNO-shear_flow) | 1E-3 | 24 | 0.4450 | |
| | | [supernova_explosion_64](https://huggingface.co/polymathic-ai/FNO-supernova_explosion_64) | 1E-4 | 40 | 0.3804 | |
| | | [turbulence_gravity_cooling](https://huggingface.co/polymathic-ai/FNO-turbulence_gravity_cooling) | 1E-4 | 13 | 0.2381 | |
| | | [turbulent_radiative_layer_2D](https://huggingface.co/polymathic-ai/FNO-turbulent_radiative_layer_2D) | 5E-3 | 500 | 0.4906 | |
| | | [viscoelastic_instability](https://huggingface.co/polymathic-ai/FNO-viscoelastic_instability) | 5E-3 | 205 | 0.7195 | |
| |
|
| |
|
| | ## Loading the model from Hugging Face |
| |
|
| | To load the FNO model trained on the `helmholtz_staircase` of the Well, use the following commands. |
| |
|
| | ```python |
| | from the_well.benchmark.models import FNO |
| | |
| | model = FNO.from_pretrained("polymathic-ai/FNO-helmholtz_staircase") |
| | ``` |