Code Monkey home page Code Monkey logo

goat's Introduction

GOAT

A PyTorch implementation of the "Gossip and Attend: Context-sensitive Graph Representation Learning" paper, to appear on the International AAAI Conference on Web and Social Media (ICWSM 2020)

Requirements!

  • Python 3.6+
  • PyTorch 1.3.1+
  • networkx 2.3+
  • Numpy 1.17.2+

Requirements to run evaluation script (optional)

  • Scikit-learn 0.20.3+
  • Pandas 0.24.2+

Usage

Example usage

$ bash ./goat.sh

or

$ python src/main.py

Input Arguments

--input: A path to a graph file. Default is ./data/cora/graph.txt

--fmt: The format of the input graph, either edgelist or adjlist. Default is edgelist

--output-dir: A path to a directory to save intermediate and final outputs of GOAT. Default is ./data/cora/outputs

--dim: The size (dimension) of nodes' embedding (representation) vector. Default is 200.

--epochs: The number of epochs. Default is 100.

--tr-rate: Training rate, i.e. the fraction of edges to be used as a training set. A value in (0, 1]. Default is .15. The remaining fraction of edges (1 - tr_rate), test edges, will be saved in the directory specified by --ouput-dir argument.

--dev-rate: Development rate, i.e. the fraction of the training set to be used as a development (validation) set. A value in [0, 1). Default is 0.2.

--learning-rate: Learning rate, a value in [0, 1]. Default is 0.0001

--dropout-rate: Dropout rate, a value in [0, 1]. Deafult is 0.5

--nbr-size: The number of neighbors to be sampled. Default is 100.

--directed: Whether the graph is directed or not. 1 for directed and 0 for undirected. Default is 1.

--workers: The number of parallel workers. Default is 8.

--verbose:. Whether to turn on a verbose logger or not. 1 is on and 0 is off. Default is 1.

Citing

If you find GOAT useful in your research, we kindly ask that you cite the following paper:

@inproceedings{ZekariasICWSM2020,
  author    = {Zekarias T. Kefato and
               Sarunas Girdzijauskasr},
  title     = {Gossip and Attend: Context-sensitive Graph Representation Learning},
  booktitle = {in Proceedings of the International AAAI Conference on Web and Social Media (Association for the Advancement of Artificial Intelligence, 2020).},
  year      = {2020},
  month     = June,
  type      = {CONFERENCE},
}

goat's People

Contributors

zekarias-tilahun avatar

Watchers

James Cloos 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.