A convolutional neural network architecture for trajectory prediction on simplicial complexes (i.e. graphs). In addition to node- and edge-level data, uses higher-order structures (triangles) in the graph to train very generalizable trajectory prediction models. Paper can be found on arXiv.
- Clone this repo
- Dependencies: Python 3.7; numpy, matplotlib, scipy, networkx, jax, jaxlib, treelib)
- Set up a dataset in one of two ways (see synthetic_data_gen.py for more info):
- Generate a synthetic dataset (graph + trajectories) using synthetic_data_gen.py
- Convert your own data to the format SCoNe accepts
- Train a model (see trajectory_experiments.py for more info)
- SCoNe: Run trajectory_experiments.py (with arguments)
- Projection: Run projection_model.py (see file for more info)
- Markov: Run trajectory_experiments.py with arg -markov 1
- SNN (Ebli 2010): Run trajectory_experiments.py with arg -model 'ebli'
- SCCONV (Bunch 2012): Run trajectory_experiments.py with arg -model 'bunch'