NSAPH-Projects / topological-equivariant-networks

E(n)-Equivariant Topological Neural Networks
MIT License
19 stars 0 forks source link

add necessary files for running EMPSN #1

Closed ekarais closed 8 months ago

ekarais commented 8 months ago

Purpose: to move the EMPSN code to our repo so that we can begin modifying it.

This PR already enables us to train EMPSN in its original form, i.e. as implemented by its authors.

To create the environment, you can run

conda env create -f environment.yaml
conda activate empsn

Once you create the environment, check if it works by running:

python main_qm9.py --target_name alpha --dim 2 --dis 3 --epochs 5 --num_hidden 20 --num_layers 3

The arguments were chosen to minimize the script's runtime and they do not correspond to any reported experiment. Nevertheless, computing simplicial complexes for --dis 3 may take around 1 hour. The command above should train a very small EMPSN model for 5 epochs and run to completion (you may be prompted by the script to login to wandb).

After running the command above, also consider running:

python main_qm9.py --target_name alpha --dim 2 --dis 0.5 --epochs 5 --num_hidden 20 --num_layers 3

We set the Rips-Vietoris radius threshold to a very low value and this exposes a limitation of their implementation. This script will return an error, something like "x_2 is not a key". I will address this issue in the next PR.

Finally, note that their results are irreproducible because they did not include the hyperparameters neither in the paper nor in their repository.