Hi,
I am getting confused by the message_func
of the RGCN example provided in the documentation.
As I understand in, in the case that it is a hidden layer, you multiply the weights by the output of the previous layer h
, but then you multiply that result again by norm
which, as I understand it, corresponds to the initial values of the network edges.
def message_func(edges):
w = weight[edges.data['rel_type']]
msg = torch.bmm(edges.src['h'].unsqueeze(1), w).squeeze()
msg = msg * edges.data['norm']
return {'msg': msg}
What am I missing ?