This repository contains all my code for my MSc Dissertation at Wits University titled:
How does relational knowledge generalise? An analysis of transfer learning for graph neural networks.
root
│
└─── Node Classification
│ └─── Real World Data
│ │ *
│ └─── Synthetic Data
│ │ *
│
└─── Graph Classification
└─── Real World Data
│ *
└─── Synthetic Data
│ *
The repo consist of two contexts: Node Classification & Graph Classification.
Each context contains a set of experiments of Real World Data & Synthetic Data.
All the individual experimental runs can be found on the comet.ml page.
Each experiment is tagged for easy filtering. When viewing the list of all experiments, grouping the experients by tags make browsing easier. To do this: click the Group by button, then type "tags" and select it, then click Done. 👍🏽
All the code is written in Python 3, and the following packages are required:
numpy
networkx
sklearn
pandas
torch
torch_geometric
(This gets a bit messy to install. See this for info on installation. )ogb
comet_ml
Each directory contains a run.py
script which is all that needs to be run for every class of experiment. Details of the specific arguments can be found in the folder's README
.
Note: The scripts will not run without an API key provided to the Comet.ml project. To get the scripts to run, please comment out all the lines involving comet_ml.