(self, cells)
| 249 | self._flatten_parameters(self.cells) |
| 250 | |
| 251 | def _flatten_parameters(self, cells): |
| 252 | gate_hidden_size = cells[0][0].gate_hidden_size |
| 253 | size_dim1 = 0 |
| 254 | for layer in range(self.num_layers): |
| 255 | for direction in range(self.num_directions): |
| 256 | size_dim1 += cells[layer][direction].weight_ih.shape[1] |
| 257 | size_dim1 += cells[layer][direction].weight_hh.shape[1] |
| 258 | if self.bias: |
| 259 | size_dim1 += 2 * self.num_directions * self.num_layers |
| 260 | |
| 261 | self._flatten_weights = Parameter( |
| 262 | np.zeros((gate_hidden_size, size_dim1), dtype=np.float32) |
| 263 | ) |
| 264 | self.reset_parameters() |
| 265 | |
| 266 | def reset_parameters(self) -> None: |
| 267 | stdv = 1.0 / math.sqrt(self.hidden_size) |
no test coverage detected