This repository contains the code and data for the paper "Enhancing Graph Neural Networks for Multi-Target Activity Prediction Through Multi-Task Learning and Knowledge Distillation".
To reproduce this work results, you must have git and python (with pip) installed on your machine.
First, use git to clone the repository.
$ git clone https://github.com/arthurcerveira/GNN-MTL-Distilled.git
$ cd GNN-MTL-Distilled/Then create a virtual environment from the environment.yml file and install the dependencies.
$ conda env create -f environment.yml
$ conda activate gnn
$ pip install -r requirements.txtThe datasets for training and testing the baselines are available here. These datasets must be stored in the data directory.
Optionally, if you have the ExCAPE-DB dataset stored in the data directory, you can run the following scripts to create the datasets for training and testing the baselines.
$ python preprocess/construct_dataset.py
$ python preprocess/split_lohi.pyThen, you need to run the notebooks in the clustering directory to create the target clusters and the distilled datasets.
With the environment activated and the data stored in the data directory, you can run the following script to reproduce the results.
$ bash run.shThis scripts will train the baselines for each dataset, and then assess the trained models on each scenario. The results will be stored in the results directory.