(self)
| 207 | return vec - vec_proj * d_ij.unsqueeze(2) |
| 208 | |
| 209 | def reset_parameters(self): |
| 210 | self.layernorm.reset_parameters() |
| 211 | self.vec_layernorm.reset_parameters() |
| 212 | nn.init.xavier_uniform_(self.q_proj.weight) |
| 213 | self.q_proj.bias.data.fill_(0) |
| 214 | nn.init.xavier_uniform_(self.k_proj.weight) |
| 215 | self.k_proj.bias.data.fill_(0) |
| 216 | nn.init.xavier_uniform_(self.v_proj.weight) |
| 217 | self.v_proj.bias.data.fill_(0) |
| 218 | nn.init.xavier_uniform_(self.o_proj.weight) |
| 219 | self.o_proj.bias.data.fill_(0) |
| 220 | nn.init.xavier_uniform_(self.s_proj.weight) |
| 221 | self.s_proj.bias.data.fill_(0) |
| 222 | |
| 223 | if not self.last_layer: |
| 224 | nn.init.xavier_uniform_(self.f_proj.weight) |
| 225 | self.f_proj.bias.data.fill_(0) |
| 226 | nn.init.xavier_uniform_(self.w_src_proj.weight) |
| 227 | nn.init.xavier_uniform_(self.w_trg_proj.weight) |
| 228 | |
| 229 | nn.init.xavier_uniform_(self.vec_proj.weight) |
| 230 | nn.init.xavier_uniform_(self.dk_proj.weight) |
| 231 | self.dk_proj.bias.data.fill_(0) |
| 232 | nn.init.xavier_uniform_(self.dv_proj.weight) |
| 233 | self.dv_proj.bias.data.fill_(0) |
| 234 | |
| 235 | |
| 236 | def forward(self, x, vec, edge_index, r_ij, f_ij, d_ij): |
no outgoing calls
no test coverage detected