Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Gnnpapers | 13,979 | 2 months ago | 10 | |||||||
Must-read papers on graph neural networks (GNN) | ||||||||||
Awesome Graph Classification | 4,562 | 5 days ago | cc0-1.0 | Python | ||||||
A collection of important graph embedding, classification and representation learning papers with implementations. | ||||||||||
Graphsage | 2,903 | 4 months ago | 111 | other | Python | |||||
Representation learning on large graphs using stochastic graph convolutions. | ||||||||||
Deepwalk | 2,513 | 7 | 3 months ago | 4 | April 29, 2018 | 42 | other | Python | ||
DeepWalk - Deep Learning for Graphs | ||||||||||
Nrlpapers | 2,507 | 3 years ago | TeX | |||||||
Must-read papers on network representation learning (NRL) / network embedding (NE) | ||||||||||
Literaturedl4graph | 2,456 | 3 years ago | 4 | mit | ||||||
A comprehensive collection of recent papers on graph deep learning | ||||||||||
Node2vec | 2,377 | 8 months ago | 95 | mit | Scala | |||||
Awesome Network Embedding | 2,218 | 2 years ago | 3 | |||||||
A curated list of network embedding techniques. | ||||||||||
Sg2im | 1,211 | a year ago | 11 | apache-2.0 | Python | |||||
Code for "Image Generation from Scene Graphs", Johnson et al, CVPR 2018 | ||||||||||
Awesome Self Supervised Gnn | 1,055 | 4 days ago | Python | |||||||
Papers about pretraining and self-supervised learning on Graph Neural Networks (GNN). |
This repository contains the "tensorflow" implementation of our paper "graph2vec: Learning distributed representations of graphs". The paper could be found at: https://arxiv.org/pdf/1707.05005.pdf
This code is developed in python 2.7. It is ran and tested on Ubuntu 16.04. It uses the following python packages:
1. git clone the repository (command: git clone https://github.com/MLDroid/graph2vec_tf.git )
2. untar the data.tar.gz tarball
1. move to the folder "src" (command: cd src) (also make sure that kdd 2015 paper's (Deep Graph Kernels) datasets are available in '../data/kdd_datasets/dir_graphs/')
2. run main.py --corpus <dataset of graph files> --class_labels_file_name <file containing class labels of graphs to be used for graph classification> file to:
*Generate the weisfeiler-lehman kernel's rooted subgraphs from all the graphs
*Train skipgram model to learn graph embeddings. The same will be dumped in ../embeddings/ folder
*Perform graph classification using the graph embeddings generated in the above step
3. example:
*python main.py --corpus ../data/kdd_datasets/mutag --class_labels_file_name ../data/kdd_datasets/mutag.Labels
*python main.py --corpus ../data/kdd_datasets/proteins --class_labels_file_name ../data/kdd_datasets/proteins.Labels --batch_size 16 --embedding_size 128 --num_negsample 5
optional arguments:
-h, --help show this help message and exit
-c CORPUS, --corpus CORPUS
Path to directory containing graph files to be used
for graph classification or clustering
-l CLASS_LABELS_FILE_NAME, --class_labels_file_name CLASS_LABELS_FILE_NAME
File name containg the name of the sample and the
class labels
-o OUTPUT_DIR, --output_dir OUTPUT_DIR
Path to directory for storing output embeddings
-b BATCH_SIZE, --batch_size BATCH_SIZE
Number of samples per training batch
-e EPOCHS, --epochs EPOCHS
Number of iterations the whole dataset of graphs is
traversed
-d EMBEDDING_SIZE, --embedding_size EMBEDDING_SIZE
Intended graph embedding size to be learnt
-neg NUM_NEGSAMPLE, --num_negsample NUM_NEGSAMPLE
Number of negative samples to be used for training
-lr LEARNING_RATE, --learning_rate LEARNING_RATE
Learning rate to optimize the loss function
--wlk_h WLK_H Height of WL kernel (i.e., degree of rooted subgraph
features to be considered for representation learning)
-lf LABEL_FILED_NAME, --label_filed_name LABEL_FILED_NAME
Label field to be used for coloring nodes in graphs
using WL kenrel
In case of queries, please email: [email protected] OR [email protected]
Please consider citing the follow paper when you use this code.
@article{narayanangraph2vec,
title={graph2vec: Learning distributed representations of graphs},
author={Narayanan, Annamalai and Chandramohan, Mahinthan and Venkatesan, Rajasekar and Chen, Lihui and Liu, Yang}
}