degree.py 307 Bytes
Newer Older
rusty1s's avatar
rusty1s committed
1
2
3
import torch


rusty1s's avatar
rusty1s committed
4
5
def degree(index, num_nodes=None, out=None):
    num_nodes = index.max() + 1 if num_nodes is None else num_nodes
rusty1s's avatar
rusty1s committed
6
7
    out = index.new_empty((), dtype=torch.float) if out is None else out
    out.resize_(num_nodes).fill_(0)
rusty1s's avatar
rusty1s committed
8

rusty1s's avatar
rusty1s committed
9
    return out.scatter_add_(0, index, out.new_ones((index.size(0))))