In main.py line 70, the trans_w is the weights for transforming aggregated neighbor nodes' embedding. To my understanding, trans_w refers to W^{k} in formula (2). For different edge types, their trans_w are different since the source lookup weights trans_weights (line 70) is of size [edge_type_count, embedding_u_size, embedding_size // att_head]. However, from formula (2), the W^{k} is the same for all edge types.
So for this weights, the code are not the same as the paper.
Am I right? Or I misunderstanding somethine?
In main.py line 70, the
trans_w
is the weights for transforming aggregated neighbor nodes' embedding. To my understanding,trans_w
refers toW^{k}
in formula (2). For different edge types, theirtrans_w
are different since the source lookup weightstrans_weights
(line 70) is of size[edge_type_count, embedding_u_size, embedding_size // att_head]
. However, from formula (2), theW^{k}
is the same for all edge types. So for this weights, the code are not the same as the paper. Am I right? Or I misunderstanding somethine?