MCPcopy Create free account
hub / github.com/MegEngine/MegEngine / _flatten_parameters

Method _flatten_parameters

imperative/python/megengine/module/rnn.py:251–264  ·  view source on GitHub ↗
(self, cells)

Source from the content-addressed store, hash-verified

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)

Callers 1

__init__Method · 0.95

Calls 3

reset_parametersMethod · 0.95
ParameterClass · 0.85
zerosMethod · 0.45

Tested by

no test coverage detected