def test(self):
    h = torch.mm(self.x, self.W)
    edge_h = torch.cat((h[self.edge[0, :], :], h[self.edge[1, :], :]), dim=1)
    self.assertTrue((edge_h.shape == torch.Size([self.edge.shape[1], (2 * 2)])))
    ah = self.alpha.mm(edge_h.t()).t()
    self.assertTrue((ah.shape == torch.Size([self.edge.shape[1], 1])))
    edge_e = self.leakyrelu(ah)
    attention = softmax(edge_e, self.edge[1])
    print(attention)
def test(self):
    h = torch.mm(self.x, self.W)
    edge_h = torch.cat((h[self.edge[0, :], :], h[self.edge[1, :], :]), dim=1)
    self.assertTrue((edge_h.shape == torch.Size([self.edge.shape[1], (2 * 2)])))
    ah = self.alpha.mm(edge_h.t()).t()
    self.assertTrue((ah.shape == torch.Size([self.edge.shape[1], 1])))
    edge_e = self.leakyrelu(ah)
    attention = softmax(edge_e, self.edge[1])
    print(attention)