All Projects → leftthomas → Dgcnn

leftthomas / Dgcnn

A PyTorch implementation of DGCNN based on AAAI 2018 paper "An End-to-End Deep Learning Architecture for Graph Classification"

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Dgcnn

Chart.xkcd
Chart.xkcd is a chart library that plots “sketchy”, “cartoony” or “hand-drawn” styled charts.
Stars: ✭ 6,982 (+18770.27%)
Mutual labels:  graph
Mpandroidchart
A powerful 🚀 Android chart view / graph view library, supporting line- bar- pie- radar- bubble- and candlestick charts as well as scaling, panning and animations.
Stars: ✭ 34,377 (+92810.81%)
Mutual labels:  graph
Beagle
Beagle is an incident response and digital forensics tool which transforms security logs and data into graphs.
Stars: ✭ 976 (+2537.84%)
Mutual labels:  graph
Prince
Implementing PopRouting
Stars: ✭ 11 (-70.27%)
Mutual labels:  graph
Subdue
The Subdue graph miner discovers highly-compressing patterns in an input graph.
Stars: ✭ 20 (-45.95%)
Mutual labels:  graph
Pgl
Paddle Graph Learning (PGL) is an efficient and flexible graph learning framework based on PaddlePaddle
Stars: ✭ 953 (+2475.68%)
Mutual labels:  graph
Stabping
Continuously monitor your connection/ISP's latency & speed and view them in interactive charts
Stars: ✭ 8 (-78.38%)
Mutual labels:  graph
Logicflow
A front-end framework for process visualization.
Stars: ✭ 973 (+2529.73%)
Mutual labels:  graph
Dotnet Assembly Grapher
Reverse engineering and software quality assurance tool for .NET assemblies
Stars: ✭ 21 (-43.24%)
Mutual labels:  graph
Pingg
Ping latency graphing CLI
Stars: ✭ 33 (-10.81%)
Mutual labels:  graph
Ilg
because the world needs another iOS chart library.
Stars: ✭ 13 (-64.86%)
Mutual labels:  graph
Panther
Discover artists through an infinite node graph
Stars: ✭ 878 (+2272.97%)
Mutual labels:  graph
Activetriples
An ActiveModel-like interface for RDF data
Stars: ✭ 31 (-16.22%)
Mutual labels:  graph
Graph
Graph is a semantic database that is used to create data-driven applications.
Stars: ✭ 855 (+2210.81%)
Mutual labels:  graph
Cracking The Coding Interview
Solutions for Cracking the Coding Interview - 6th Edition
Stars: ✭ 35 (-5.41%)
Mutual labels:  graph
Facepy
Facepy makes it really easy to use Facebook's Graph API with Python
Stars: ✭ 845 (+2183.78%)
Mutual labels:  graph
React Native Touchable Graph
React Native component for simply creating a graph 📱 , without any iOS or Android issue of touch.
Stars: ✭ 29 (-21.62%)
Mutual labels:  graph
Multi Robot Path Planning On Graphs
Multi-Robot Path Planning on Graphs Solution by A* algorithm
Stars: ✭ 36 (-2.7%)
Mutual labels:  graph
Ig Follow Count
📈 A simple Instagram analytics tool that continuously logs and graphs your follower count.
Stars: ✭ 35 (-5.41%)
Mutual labels:  graph
Algorithms
Study cases for Algorithms and Data Structures.
Stars: ✭ 32 (-13.51%)
Mutual labels:  graph

DGCNN

A PyTorch implementation of DGCNN based on AAAI 2018 paper An End-to-End Deep Learning Architecture for Graph Classification.

Requirements

conda install pytorch torchvision -c pytorch
  • PyTorchNet
pip install git+https://github.com/pytorch/[email protected]
pip install torch-scatter
pip install torch-sparse
pip install torch-cluster
pip install torch-spline-conv (optional)
pip install torch-geometric

Datasets

The datasets are collected from graph kernel datasets. The code will download and extract them into data directory automatically. The 10fold_idx files are collected from pytorch_DGCNN.

Usage

Train Model

python -m visdom.server -logging_level WARNING & python train.py --data_type PTC_MR --num_epochs 200
optional arguments:
--data_type                   dataset type [default value is 'DD'](choices:['DD', 'PTC_MR', 'NCI1', 'PROTEINS', 'IMDB-BINARY', 'IMDB-MULTI', 'MUTAG', 'COLLAB'])
--batch_size                  train batch size [default value is 50]
--num_epochs                  train epochs number [default value is 100]

Visdom now can be accessed by going to 127.0.0.1:8097/env/$data_type in your browser, $data_type means the dataset type which you are training.

Benchmarks

Default PyTorch Adam optimizer hyper-parameters were used without learning rate scheduling. The model was trained with 100 epochs and batch size of 50 on a NVIDIA GTX 1070 GPU.

Here is tiny difference between this code and official paper. X is defined as a concatenated matrix of vertex labels、 vertex attributes and normalized node degrees.

Dataset MUTAG PTC NCI1 PROTEINS D&D COLLAB IMDB-B IMDB-M
Num. of Graphs 188 344 4,110 1,113 1,178 5,000 1,000 1,500
Num. of Classes 2 2 2 2 2 3 2 3
Node Attr. (Dim.) 8 19 38 5 90 1 1 1
Num. of Parameters 52,035 52,387 52,995 51,939 54,659 51,940 51,811 51,940
DGCNN (official) 85.83±1.66 58.59±2.47 74.44±0.47 75.54±0.94 79.37±0.94 73.76±0.49 70.03±0.86 47.83±0.85
DGCNN (ours) 81.67±9.64 59.12±11.27 75.72±3.13 72.88±3.38 68.80±5.37 70.52±2.00 71.50±4.48 46.47±5.22
Training Time 4.48s 6.77s 61.04s 21.15s 64.71s 202.65s 15.55s 21.90s

Results

The train loss、accuracy, test loss、accuracy are showed on visdom.

MUTAG

result

PTC

result

NCI1

result

PROTEINS

result

D&D

result

COLLAB

result

IMDB-B

result

IMDB-M

result

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].