-
Notifications
You must be signed in to change notification settings - Fork 3
Open
Description
Dear All,
in table 8 of the paper you describe that for YAGO you set # MGCN layer =3.
As far as I understand, this can be set by the arg core_layer, correct?
However, in the code, when I look at MGCN.py, as far as I understand, the MGCN will not deal with more than two layers (please see lines with comments titled #HERE below:):
# define MGCN Layer
self.conv1 = MGCNConvLayer(self.p.initsize, self.p.hidsize, act=self.act, params=self.p)
self.conv2 = MGCNConvLayer(self.p.hidsize, self.p.embsize, act=self.act, params=self.p) if self.p.core_layer == 2 else None #HERE
self.register_parameter('bias', Parameter(torch.zeros(num_e)))
def set_graph(self, edge_index, edge_type):
self.edge_index = edge_index
self.edge_type = edge_type
def set_jumpfunc(self, edge_id_jump, edge_w_jump, jumpfunc, jumpw=None, skip=False, rel_jump=None):
self.edge_id_jump = edge_id_jump
self.edge_w_jump = edge_w_jump
self.jump = jumpfunc
self.jump_weight = jumpw
self.skip = skip
self.rel_jump = rel_jump
def forward(self, t, emb):
self.nfe += 1
jump_emb = emb.clone()
if self.p.res:
emb = emb + self.res * self.conv1(emb, self.edge_index, self.edge_type, self.num_e)
emb = self.drop_l1(emb)
**emb = (emb + self.res * self.conv2(emb, self.edge_index, self.edge_type, self.num_e)) if self.p.core_layer == 2 else #HERE
emb**
**emb = self.drop_l2(emb) if self.p.core_layer == 2 else emb** #HERE
else:
emb = self.conv1(emb, self.edge_index, self.edge_type, self.num_e)
emb = self.drop_l1(emb)
**emb = self.conv2(emb, self.edge_index, self.edge_type, self.num_e) if self.p.core_layer == 2 else emb** #HERE
**emb = self.drop_l2(emb) if self.p.core_layer == 2 else emb** #HERE
This means, if self.p.core_layer is 3, thus != 2, it will treat this as one layer. Is my understanding correct or am I mistaken?
If I'm correct: Does this mean, that the hyperparameter for YAGO should actually be core_layer=1?
Best and Thanks
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels