Giter Club home page Giter Club logo

geom-gcn's Introduction

Geom-GCN: Geometric Graph Convolutional Networks

GraphDML-UIUC-JLU: Graph-structured Data Mining and Machine Learning at University of Illinois at Urbana-Champaign (UIUC) and Jilin University (JLU)

Abstract

Message-passing neural networks (MPNNs) have been successfully applied in a wide variety of applications in the real world. However, two fundamental weaknesses of MPNNs' aggregators limit their ability to represent graph-structured data: losing the structural information of nodes in neighborhoods and lacking the ability to capture long-range dependencies in disassortative graphs. Few studies have noticed the weaknesses from different perspectives. From the observations on classical neural network and network geometry, we propose a novel geometric aggregation scheme for graph neural networks to overcome the two weaknesses. The behind basic idea is the aggregation on a graph can benefit from a continuous space underlying the graph. The proposed aggregation scheme is permutation-invariant and consists of three modules, node embedding, structural neighborhood, and bi-level aggregation. We also present an implementation of the scheme in graph convolutional networks, termed Geom-GCN, to perform transductive learning on graphs. Experimental results show the proposed Geom-GCN achieved state-of-the-art performance on a wide range of open datasets of graphs.

Code

Required Packages

  1. Python 3.7
  2. PyTorch 1.7.1 Cuda 9.2
  3. NetworkX 2.5
  4. Deep Graph Library 0.3 Cuda 9.2
  5. Numpy 1.19.2
  6. Scipy 1.5.2
  7. Scikit-Learn 0.23.2
  8. Tensorflow 1.14.0
  9. TensorboardX 2.1

Table 3

To replicate the Geom-GCN results from Table 3, run

bash NewTableThreeGeomGCN_runs.txt

To replicate the GCN results from Table 3, run

bash NewTableThreeGCN_runs.txt

To replicate the GAT results from Table 3, run

bash NewTableThreeGAT_runs.txt

Results will be stored in runs.

Combination of Embedding Methods

To replicate the results for utilizing all embedding methods simultaneously, run

bash ExperimentTwoAllGeomGCN_runs.txt

Results will be stored in runs.

Statement of data source

This code imports published data sets from other researchers that are contained in the folders “new-data” and "data". These data sets and their original sources are described and referenced in Section 4.1 of our publication at https://arxiv.org/abs/2002.05287. Users of this code should cite the original data sets and their sources, if used.

geom-gcn's People

Contributors

hp17illinois avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.