(Under construction and subject to change)
This is the official PyTorch implementation for our AISTATS 2023 paper, Isotropic Gaussian Processes on Finite Spaces of Graphs.
[01.03.2023]: As a small correction, the column RMSE in the paper should be replaced with L2-Error. The qualitative results remain unchanged though.
The code for this work was developed by Vignesh Ram Somnath and Mohammad Reza Karimi. The development-time commit history was erased in a deadline rush while transferring the repository.
This assumes conda is installed on your system
If conda is not installed, download the Miniconda installer
If conda is installed, run the following commands:
./install_dependencies.sh
The datasets and splits are provided under examples/data/freesolv
This step can be skipped if the splits are already present. To prepare splits, run the following steps:
python -m data_prep.splits --dataset freesolv --allowed_atoms C N O Cl --filename $FILENAME --split $SPLIT
where FILENAME
is the corresponding file in examples/data/freesolv
and SPLIT
is one of {random, scaffold}
.
Note that in the experiments for the submission, we use the random
split.
To train the model, run the following commands:
python -m scripts.train.run_molecule_gp --kernel $KERNEL --kernel_mode $MODE --lr 0.001 \
--print_every 100 --eval_every 100 --train_iter 10000 \
--kappa 1.0 --sigma2 1.0 --nu 2.5
where KERNEL
is one of {graph, projected}
and MODE
is one of {heat, matern}
The project is listed under the MIT license. Please see LICENSE for more details.
If you find our code useful, please cite our paper:
@inproceedings{borovitskiy2023isotropic,
title={Isotropic Gaussian Processes on Finite Spaces of Graphs},
author={Borovitskiy, Viacheslav and Karimi, Mohammad Reza and Somnath, Vignesh Ram and Krause, Andreas},
booktitle={International Conference on Artificial Intelligence and Statistics},
year={2023},
organization={PMLR}
}
If you have any questions about our code, or want to report a bug, please raise a GitHub issue.