Skip to content
/ dgl Public
forked from dmlc/dgl

Python package built to ease deep learning on graph, on top of existing DL frameworks.

License

Notifications You must be signed in to change notification settings

SunYa0/dgl

Repository files navigation

Deep Graph Library

Build Status GitHub license

Architecture

Show below, there are three sets of APIs for different models.

  • update_all, proppagate are more global
  • update_by_edge, update_to and update_from give finer control when updates are applied to a path, or a group of nodes
  • sendto and recvfrom are the bottom primitives that update a message and node.

Screenshot

For Model developers

  • Always choose the API at the highest possible level.
  • Refer to the GCN example to see how to register message and node update functions;

How to build (the cpp branch)

Before building, make sure that the submodules are cloned. If you haven't initialized the submodules, run

$ git submodule init

To sync the submodules, run

$ git submodule update

Linux

At the root directory of the repo:

$ mkdir build
$ cd build
$ cmake ..
$ make
$ export DGL_LIBRARY_PATH=$PWD

The DGL_LIBRARY_PATH environment variable should point to the library libdgl.so built by CMake.

Windows/MinGW (Experimental)

Make sure you have the following installed:

  • CMake
  • MinGW/GCC (G++)
  • MinGW/Make

You can grab them from Anaconda.

In the command line prompt, run:

> md build
> cd build
> cmake -DCMAKE_CXX_FLAGS="-DDMLC_LOG_STACK_TRACE=0 -DTVM_EXPORTS" .. -G "MinGW Makefiles"
> mingw32-make
> set DGL_LIBRARY_PATH=%CD%

About

Python package built to ease deep learning on graph, on top of existing DL frameworks.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 72.0%
  • C++ 25.8%
  • C 1.6%
  • Other 0.6%