Skip to content

ChNousias/graph-classification-thesis

Repository files navigation

Graph Classification using Neural Networks

This repository is part of the thesis project "Graph Classification using Neural Networks" carried by me (Nousias Ch.) in the Aristotle University of Thessaloniki (A.U.Th.) in the interdepartmental postgraduate programme of studies "Advanced Computer and Communication Systems" under the supervision of Emeritus Professor Vasileios Petridhs. The thesis project is to be presented in February 2019.

The repository includes implementations for carrying Graph Classification on benchmark datasets from the field of bioinformatics with:

  • Neural Networks on Graphs
  • Graph Kernels

Graph Neural Networks

Basic framework for carrying graph classification with Neural Networks was the Graph Nets library developed by DeepMind as described in the corresponding paper **"Relational inductive biases, deep learning, and graph networks"**by Battaglia et al.(2018).

Graph Kernel Libraries

Basic tool for the graph kernel implementations was the GraKeL library by Siglidis et al. (2018) and Scikit Learn.

Datasets were cloned by the Pytorch implementation of the "Deep Graph Convolutional Neural Network (DGCNN)", work of Zhang et al. (2018). These versions of graph datasets were preferred over those included in the TU Dortmund repository as were deemed more consistent to each other without the need for repeating basic steps of importing and preprocessing for every dataset.

Setting Up

Conda Environments

Each implementation was done within its own conda environment specified by the yaml file that accompanies each notebook, that is:

  • graph_networks_env.yml
  • graph_kernels.yml

The environments can be deployed by using some basic conda functionality.

Deploying

Both implementations were deployed and run in Ubuntu OS 18.04 as the Sonnet library which is used by the graph_nets library is compatible only with Linux/Mac OS X. Both implementations are on Jupyter Notebooks. Training was carried on multiple CPU cores, locally as well as on VM instances on Azure Cloud.

Version History

1.0.0

  • This is a concluded repository accompanying a commited thesis project. Therefore, no further changes will be carried instead of possible minor fixes.

About

Classification Task on Graphs using Graph Neural Networks and Graph Kernels - Thesis Project

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published