Source code for paper "Learning the Solution Operator of Boundary Value Problems using Graph Neural Networks".
NOTE on reproducibility (17 Aug 2023): The appendix of the arxiv version of our paper has been updated with more extensive results (mean and standard deviation over 5 runs) to increase reproducibility of our results.
The data is stored publicly in google buckets in requester-pays
mode. To access the data and train your models, you need to include a billing project. The raw data can also be found on huggingface. You would need to adapt the dataset paths in the config files after downloading and afterwards you would be able to run the experiments without accessing the cloud.
We use weights & biases for logging and experiment tracking. You can create your free account here.
Use wandb login
to login from your python environment as described here.
Make sure all requirements are installed via pip install -r requirements.txt
.
If you have trouble installing PyTorch Geometric on your machine make sure to follow the official instructions.
In the config folder, training scripts are provided for all experiments in the paper.
An example command would be:
python -m gnn_bvp_solver.app --config configs/task_shape/es_ma.json --no-gpu
Look for the model you want to test in the weight & biases artifact store.
The best and latest model will be automatically tagged for each run. Pass test
as task and the model artifact.
It is important to use the same config like for training.
An example command would be:
python -m gnn_bvp_solver.app --task test --artifact model-aer8oj02:v1 --config configs/task_shape/es_ma.json --no-gpu
Please find the full details for our experiments in the paper. We published our work at the AI for Science workshop at ICML 2022.
This software is licensed under the MIT License.
Please cite the paper if you use this code in your own work.
@article{lotzsch2022learning,
title={Learning the Solution Operator of Boundary Value Problems using Graph Neural Networks},
author={L{\"o}tzsch, Winfried and Ohler, Simon and Otterbach, Johannes S},
journal={ICML 2022 2nd AI for Science Workshop},
year={2022}
}