Implementation of Edge Attention based Multi-relational Graph Convolutional Networks
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
Chart plot Feb 12, 2018
Data Upload Datasets Employeed Feb 11, 2018
eagcn_pytorch fixed bug that use softmax twice Mar 8, 2018 Update Jun 4, 2018


This is a PyTorch implementation of the paper "Edge Attention based Multi-relational Graph Convolutional Networks".


Install pytorch and torchvision.

Train EAGCN model


Four benchmark datasets (Tox21, HIV, Freesolv and Lipophilicity) are utilized in this study to evaluate the predictive performance of built graph convolutional networks. They are all downloaded from the MoleculeNet that hold various benchmark datasets for molecular machine learning.

Datasets are also provided in folder "Data".

Train the model

Open the folder "eagcn_pytorch".

When you train the model for classification tasks, you can use:


When you train the model for regression tasks, you can use:


Model Structure

Edge Attention Layer

The process to build the weighted adjacency tensor is:

Edge attention convolution is:

Experiment Results

Our experiments evaluate the property prediction on standard supervised classification and regression tasks. We design our experiments with the goals of 1) verifying the improvement of our method compared with baseline methods, and 2) comparing two different architectures of our method. We adapt two edge attention layers and three fully connected layers for graph classification and regression.

RMSE for Regression tasks on Freesolv and Lipo:

ROC-AUC for Classification tasks on HIV and Tox21:

Classification Performance on Tox21 Dataset:


Code is inspired by GCN and conv_qsar_fast