This is the official implementation for the following paper:
Relaxing Continuous Constraints of Equivariant Graph Neural Networks for Broad Physical Dynamics Learning
Zinan Zheng^, Yang liu^, Jia Li*, Jianhua Yao, Yu Rong*
KDD 2024
cd DEGNN
conda create -n degnn python=3.10
conda activate degnn
pip install torch==2.0.1 --index-url https://download.pytorch.org/whl/cu118
pip install torch_geometric
pip install torch_scatter torch_sparse torch_cluster torch_spline_conv -f https://data.pyg.org/whl/torch-2.0.1+cu118.html
pip install numpy==1.26.0
The nbody and molecular dataset is hosted on Hugging Face and can be accessed here.
Please place the nbodydata and molecular_dataset dataset folder under the dataset folder
-dataset
-crowd_dataset
-molecular_dataset
-nbodydata
-vehical_dataset
Run the crowd datasets.
python main.py --dataset "indi_low" --lr "5e-4"
python main.py --dataset "indi_high" --lr "5e-4"
python main.py --dataset "group_low" --lr "5e-4"
python main.py --dataset "group_high" --lr "5e-4"
Run the vehicle datasets
python main.py --dataset "0_vehicle" --lr "5e-4"
python main.py --dataset "1_vehicle" --lr "5e-4"
python main.py --dataset "2_vehicle" --lr "5e-4"
python main.py --dataset "3_vehicle" --lr "5e-4"
python main.py --dataset "4_vehicle" --lr "5e-4"
python main.py --dataset "5_vehicle" --lr "5e-4"
Run the nbody datasets.
python main.py --dataset "nbody_charged_4_4_4" --lr "3e-4" --dataset_segment "1,10,10" --dataset_size "4200"
python main.py --dataset "nbody_charged_5_4_3" --lr "3e-4" --dataset_segment "1,10,10" --dataset_size "4200"
python main.py --dataset "nbody_charged_5_4_4" --lr "3e-4" --dataset_segment "1,10,10" --dataset_size "4200"
python main.py --dataset "nbody_charged_5_5_5" --lr "3e-4" --dataset_segment "1,10,10" --dataset_size "4200"
python main.py --dataset "nbody_gravity_4_4_4" --lr "3e-4" --dataset_segment "1,10,10" --dataset_size "4200"
python main.py --dataset "nbody_gravity_5_4_3" --lr "3e-4" --dataset_segment "1,10,10" --dataset_size "4200"
python main.py --dataset "nbody_gravity_5_4_4" --lr "3e-4" --dataset_segment "1,10,10" --dataset_size "4200"
python main.py --dataset "nbody_gravity_5_5_5" --lr "3e-4" --dataset_segment "1,10,10" --dataset_size "4200"
Run the molecular datasets.
python main.py --dataset "lips" --lr "3e-4" --dataset_segment "1,1,1" --dataset_size "6000"
python main.py --dataset "lipo" --lr "3e-4" --dataset_segment "1,1,1" --dataset_size "6000"