Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
The TensorFlow reference implementation of 'GEMSEC: Graph Embedding with Self Clustering' (ASONAM 2019).
| Date | Stars |
|---|---|
| 2026-07-24 | 258 |
| 2026-07-25 | 258 |
| 2026-07-28 | 258 |
| 2026-07-30 | 258 |
| 2026-08-06 | 258 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
0.0
growth rate 0.00%/day
Graph Embedding with Self Clustering
=========================
[](https://arxiv.org/abs/1802.03997) [](https://codebeat.co/projects/github-com-benedekrozemberczki-gemsec-master)
[](https://github.com/benedekrozemberczki/GEMSEC/archive/master.zip) [](https://twitter.com/intent/follow?screen_name=benrozemberczki)
<p align="justify">
GEMSEC is a graph embedding algorithm which learns an embedding and clustering jointly. The procedure places nodes in an abstract feature space where the vertex features minimize the negative log likelihood of preserving sampled vertex neighborhoods while the nodes are clustered into a fixed number of groups in this space. GEMSEC is a general extension of earlier work in the domain as it is an augmentation of the core optimization problem of sequence based graph embedding procedures and it is agnostic of the neighborhood sampling strategy (first/second-order random walks).
**GEMSEC** is available in the **NetworkX** extension package [Karate Club](https://github.com/benedekrozemberczki/karateclub).
The second-order random walks sampling methods were taken from the reference implementation of [Node2Vec](https://github.com/aditya-grover/node2vec).
</p>
<p align="center">
<img width="700" src="gemsec.jpeg">
</p>
---------------
This repository provides a reference implementation for GEMSEC as described in the paper:
> GEMSEC: Graph Embedding with Self Clustering.
> [Benedek Rozemberczki](http://homepages.inf.ed.ac.uk/s1668259/), [Ryan Davies](https://www.inf.ed.ac.uk/people/students/Ryan_Davies.html), [Rik Sarkar](https://homepages.inf.ed.ac.uk/rsarkar/) and [Charles Sutton](http://homepages.inf.ed.ac.uk/csutton/) .
> ASONAM, 2019.
> https://arxiv.org/abs/1802.03997
The datasets are also available on [SNAP](http://snap.stanford.edu/).
### Table of Contents
1. [Citing](#citing)
2. [Requirements](#requirements)
3. [Datasets](#datasets)
4. [Logging](#logging)
5. [Options](#options)
6. [Examples](#examples)
### Citing
If you find GEMSEC useful in your research, please consider citing the following paper:
```bibtex
>@inproceedings{rozemberczki2019gemsec,
title={{GEMSEC: Graph Embedding with Self Clustering}},
author={Rozemberczki, Benedek and Davies, Ryan and Sarkar, Rik and Sutton, Charles},
booktitle={Proceedings of the 2019 IEEE/ACM International Conference on Advances in Social Networks Analysis and Mining 2019},
pages={65-72},
year={2019},
organization={ACM}
}
```
### Requirements
The codebase is implemented in Python 3.5.2 | Anaconda 4.2.0 (64-bit). Package versions used for development are just below.
```
networkx 2.4
tqdm 4.19.5
numpy 1.13.3
pandas 0.20.3
tensorflow-gpu 1.12.0
jsonschema 2.6.0
texttable 1.5.1
python-louvain 0.11
```
### Datasets
<p align="justify">
The code takes an input graph in a csv file. Every row indicates an edge between two nodes separated by a comma. The first row is a header. Nodes should be indexed starting with 0. Sample graphs for the `Facebook Politicians` and `Facebook Companies` datasets are included in the `data/` directory.</p>
### Logging
The models are defined in a way that parameter settings and cluster quality is logged in every single epoch. Specifically we log the followings:
```
1. Hyperparameter settings. We save each hyperparameter used in the experiment.
2. Cost per epoch. Embedding, clustering and regularization cost are stored depending on the model type.
3. Cluster quality. Excerpt of 8,861 characters
Read on GitHubWould you bet a product on this? Bounded 0–100 and slow moving.
matched fp:03d6113fc16a1790, topic:neural-network, topic:tensorflow