我想知道是否有可能将参数作为发送的消息的一部分来学习(在减少消息之前)。例如,
def gcn_message(edges):
# Can we put a learnable function that we apply to edges.src['h'] here?
return {'msg' : edges.src['h']}
class GCNLayer(nn.Module):
def __init__(self, in_feats, out_feats):
super(GCNLayer, self).__init__()
def forward(self, g, inputs):
g.ndata['h'] = inputs
g.send(g.edges(), gcn_message)
g.recv(g.nodes(), gcn_reduce)
h = g.ndata.pop('h')
return self.linear(h)
我认为有可能这样做是合理的,但是如何实现呢?