n, e, K = x.size(0), row.size(0), weight.size(0)
if edge_attr is None:
edge_attr = x.data.new(e).fill_(1)
// Compute degree.
degree = x.data.new(n).fill_(0).scatter_add_(0, row, edge_attr)
degree = degree.pow_(-0.5)
// Compute normalized and rescaled Laplacian.
edge_attr *= degree[row]
edge_attr *= degree[col]
lap = SparseTensor(edge_index, -edge_attr, torch.Size([n, n]))
// Convolution.
Tx_0 = x
output = torch.mm(Tx_0, weight[0])
After Change
row, col = edge_index
n, e, K = x.size(0), row.size(0), weight.size(0)
edge_attr = x.new_full((e, ), 1) if edge_attr is None else edge_attr
deg = degree(row, n, dtype=edge_attr.dtype, device=edge_attr.device)
// Compute normalized and rescaled Laplacian.