• Stars
    star
    117
  • Rank 301,828 (Top 6 %)
  • Language
    Jupyter Notebook
  • Created over 5 years ago
  • Updated about 5 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Explainability techniques for Graph Networks, applied to a synthetic dataset and an organic chemistry task. Code for the workshop paper "Explainability Techniques for Graph Convolutional Networks" (ICML19)

Explainability Techniques for Graph Convolutional Networks

Code and notebooks for the paper "Explainability Techniques for Graph Convolutional Networks" accepted at the ICML 2019 Workshop "Learning and Reasoning with Graph-Structured Data".

Overview

A Graph Network trained to predict the solubility of organic molecules is applied to sucrose, the prediction is explained using Layer-wise Relevance Propagation that assigns positive and negative relevance to the nodes and edges of the molecular graph:

Sucrose solubility LRP

The predicted solubility can be broken down to the individual features of the atoms and their bonds:

Sucrose solubility LRP nodes Sucrose solubility LRP edges

Code structure

  • src, config, data contain code, configuration files and data for the experiments
    • infection, solubility contain the code for the two experiments in the paper
    • torchgraphs contain the core graph network library
    • guidedbackrprop, relevance contain the code to run Guided Backpropagation and Layer-wise Relevance Propagation on top of PyTorch's autograd
  • notebooks, models contain a visualization of the datasets, the trained models and the results of our experiments
  • test contains unit tests for the torchgraphs module (core GN library)
  • conda.yaml contains the conda environment for the project

Setup

The project is build on top of Python 3.7, PyTorch 1.1+, torchgraphs 0.0.1 and many other open source projects.

A Conda environment for the project can be installed as:

conda env create -n gn-exp -f conda.yaml
conda activate gn-exp
python setup.py develop
pytest

Training

Detailed instructions for data processing, training and hyperparameter search can be found in the respective subfolders:

Experimental results

The results of our experiments are visualized through the notebooks in notebooks:

conda activate gn-exp
cd notebooks
jupyter lab 

More Repositories

1

deep-koalarization

Keras/Tensorflow implementation of our paper Grayscale Image Colorization using deep CNN and Inception-ResNet-v2 (https://arxiv.org/abs/1712.03400)
Python
412
star
2

pytorch-densenet-tiramisu

PyTorch implementation of DenseNet and FCDenseNet
Python
53
star
3

zalando-pytorch

Various experiments on the [Fashion-MNIST](https://github.com/zalandoresearch/fashion-mnist) dataset from Zalando
Jupyter Notebook
31
star
4

graphqa

Protein quality assessment using Graph Convolutional Networks
Python
28
star
5

ws-vrd

Jupyter Notebook
17
star
6

rpl-workshop

Workshop on GPU and slurm usage at RPL (KTH)
Jupyter Notebook
8
star
7

iclr-osc-22

Jupyter Notebook
6
star
8

torchgraphs

A PyTorch library for Graph Convolutional Networks.
Python
5
star
9

python-pancakes

Collection of python problems that caught my interest
Python
3
star
10

performer-gat-shapenet

Performer vs. Graph Attention Network on ShapeNet with GradCAM explanations.
Python
2
star
11

dd2424-deep-learning

Assignments for the course DD2424 Deep Learning in Data Science at KTH 2017
Jupyter Notebook
1
star
12

ambulance-planning

Online scheduling of multi ambulances in a city context, with travel distance and patient priority optimization
Java
1
star
13

freeipa-vbox

Virtualized FreeIPA setup with internal DNS, CA and replication.
Shell
1
star
14

door-buster

Door Buster! - Project for Interaction Programming and the Dynamic Web (DH2642) at KTH
TypeScript
1
star
15

elastic-news

Recommendation-based news search engine for the course DD2476 at KTH 2017
Python
1
star
16

dd2221-data-intensive-computing

Assignments for the course DD2221 Data Intensive Computing at KTH (Fall 2017)
Jupyter Notebook
1
star