(self, layer, layer_size, N, tie_layers=False)
| 261 | class Encoder(nn.Module): |
| 262 | "Core encoder is a stack of N layers" |
| 263 | def __init__(self, layer, layer_size, N, tie_layers=False): |
| 264 | super(Encoder, self).__init__() |
| 265 | if tie_layers: |
| 266 | self.layer = layer() |
| 267 | self.layers = [self.layer for _ in range(N)] |
| 268 | else: |
| 269 | self.layers = clones(layer, N) |
| 270 | self.norm = nn.LayerNorm(layer_size) |
| 271 | |
| 272 | # TODO initialize using xavier |
| 273 | |
| 274 | def forward(self, x, relation, mask): |
| 275 | "Pass the input (and mask) through each layer in turn." |