README.md 1.59 KB
Newer Older
1
2
# DGL for ogbn-proteins

3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
## GAT

DGL implementation of GAT for [ogbn-proteins](https://ogb.stanford.edu/docs/nodeprop/). Using some of the techniques from *Bag of Tricks for Node Classification with Graph Neural Networks* ([https://arxiv.org/abs/2103.13355](https://arxiv.org/abs/2103.13355)).

Requires DGL 0.5 or later versions.

### Usage

For the best score, run `gat.py` and you should directly see the result.

```bash
python3 gat.py
```

For the score of `GAT+labels`, run `gat.py` with `--use-labels` enabled and you should directly see the result.

```bash
python3 gat.py --use-labels
```

### Results

Here are the results over 10 runs.

|   Method   | Validation ROC-AUC |  Test ROC-AUC   | #Parameters |
|:----------:|:------------------:|:---------------:|:-----------:|
|    GAT     |  0.9276 ± 0.0007   | 0.8747 ± 0.0016 |  2,475,232  |
| GAT+labels |  0.9280 ± 0.0008   | 0.8765 ± 0.0008 |  2,484,192  |

## MWE-GCN and MWE-DGCN

### Models
35
36
[MWE-GCN and MWE-DGCN](https://cims.nyu.edu/~chenzh/files/GCN_with_edge_weights.pdf) are GCN models designed for graphs whose edges contain multi-dimensional edge weights that indicate the strengths of the relations represented by the edges.

37
38
### Dependencies
- DGL 0.5.2
39
40
41
42
- PyTorch 1.4.0
- OGB 1.2.0
- Tensorboard 2.1.1

43
### Usage
44
45
46
47
48
49
50
51
52
53
54
55
56

To use MWE-GCN:
```python
python main_proteins_full_dgl.py --model MWE-GCN
```

To use MWE-DGCN:
```python
python main_proteins_full_dgl.py --model MWE-DGCN
```

Additional optional arguments include 'rand_seed' (the random seed), 'cuda' (the cuda device number, if available), 'postfix' (a string appended to the saved-model file)