README.md 880 Bytes
Newer Older
zzhang-cn's avatar
zzhang-cn committed
1
# Deep Graph Library
Minjie Wang's avatar
Minjie Wang committed
2
[![Build Status](http://216.165.71.225:8080/buildStatus/icon?job=DGL/master)](http://216.165.71.225:8080/job/DGL/job/master/)
Minjie Wang's avatar
Minjie Wang committed
3
[![GitHub license](https://dmlc.github.io/img/apache2.svg)](./LICENSE)
zzhang-cn's avatar
zzhang-cn committed
4
5
6
7
8
9

## 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.
Zheng Zhang's avatar
Zheng Zhang committed
10
11

![Screenshot](graph-api.png)
zzhang-cn's avatar
zzhang-cn committed
12
13
14
15
16
17

## For Model developers
- Always choose the API at the *highest* possible level.
- Refer to [the default modules](examples/pytorch/util.py) to see how to register message and node update functions as well as readout functions; note how you can control sharing of parameters by adding a counter.