(self, e)
| 18 | self.k = k |
| 19 | |
| 20 | def forward(self, e): |
| 21 | # input: [N] |
| 22 | # output: [N, k] |
| 23 | out_e = [] |
| 24 | ee = e.unsqueeze(1) |
| 25 | for i in range(self.k): |
| 26 | eeig = torch.full(ee.shape, torch.tensor(1.0)).to(e.device) |
| 27 | ei = ee.pow(i + 1) |
| 28 | div = torch.FloatTensor(np.arange(1, int(self.hidden_dim / 2) + 1)).to(e.device) |
| 29 | pe = ei * div |
| 30 | eeig = torch.cat((eeig, torch.sin(pe), torch.cos(pe)), dim=1) |
| 31 | out_e.append(self.eig_ws[i](eeig)) |
| 32 | return out_e |
| 33 | |
| 34 | |
| 35 | class FeedForwardNetwork(nn.Module): |
nothing calls this directly
no outgoing calls
no test coverage detected