Unsupervised relational inference using masked reconstruction
Copyright: 2023, Gerrit Großmann, Group of Modeling and Simulation at Saarland University
Official implementation of Unsupervised relational inference using masked reconstruction
Version: 0.1 (Please note that this is proof-of-concept code.)
Gina takes observations of interacting systems and infers/reconstructs the (latent) underlying interaction graph (contact network).
Here, we see the successful reconstruction of a 7x7 grid graph.
GINA considers each snapshot (observation of all components) individually and tries to predict the observable state of each node, given the measurements of each adjacent node. GINA optimizes the interaction graph in order to maximize the accuracy of this prediction.
Install Python3, Pip3, and Jupyter notebook. Install Python-dependencies with:
pip install -r requirements.txt
Start Jupyter notebook
jupyter notebook
and select the GINA.ipynb
file.
You can upload the GINA.ipynb
file to Google Colab or click on the open in colab badge at the top.
To use GINA in a Conda environment: Fist, install Miniconda. Then,
conda create -n ginaenv python=3.6
conda install -n ginaenv pip
conda activate ginaenv
conda install nb_conda
pip install -r requirements.txt
jupyter lab
and open the GINA.ipynb
file.
You can use the GINA docker image.
docker pull gerritgr/gina:2022-07-17--13-11
Run with:
docker run -p 8888:8888 gerritgr/gina:2022-07-17--13-11
and open the GINA.ipynb
file in Jupyter lab.