In my code, I use update as following:
self.g.update_all(gcn_msg, gcn_reduce, self.node_update)
My reduce function is as following:
def gcn_reduce(node):
accum = node.mailbox['m']
return {'h': accum}
,which is different with the original implement:
def gcn_reduce(node):
accum = torch.sum(node.mailbox['m'], 1) * node.data['norm']
return {'h': accum}
My code runs failed as following:
I wonder can Reduce-function return Tensors with different dimension?
Besides, can we use self.node_update
according to the in_degree of nodes?