ParameterDict¶
- class paddle.nn. ParameterDict ( parameters: ParameterDict | Mapping[str, Tensor] | Sequence[tuple[str, Tensor]] | None = None ) [source]
-
Holds parameters in a dictionary.
ParameterDict can be indexed like a regular Python dictionary, but Parameters it contains are properly registered.
- Parameters
-
parameters (iterable, optional) – a mapping (dictionary) of (string : Any) or an iterable of key-value pairs of type (string, Any)
Examples
>>> import paddle >>> class MyLayer(paddle.nn.Layer): ... def __init__(self, num_stacked_param): ... super().__init__() ... # create ParameterDict with iterable Parameters ... self.params = paddle.nn.ParameterDict( ... {f"t{i}": paddle.create_parameter(shape=[2, 2], dtype='float32') for i in range(num_stacked_param)}) ... ... def forward(self, x): ... for i, key in enumerate(self.params): ... x = paddle.matmul(x, self.params[key]) ... return x ... >>> x = paddle.uniform(shape=[5, 2], dtype='float32') >>> num_stacked_param = 4 >>> model = MyLayer(num_stacked_param) >>> print(len(model.params)) 4 >>> res = model(x) >>> print(res.shape) [5, 2] >>> replaced_param = paddle.create_parameter(shape=[2, 3], dtype='float32') >>> model.params['t3'] = replaced_param # replace t3 param >>> res = model(x) >>> print(res.shape) [5, 3] >>> model.params['t4'] = paddle.create_parameter(shape=[3, 4], dtype='float32') # append param >>> print(len(model.params)) 5 >>> res = model(x) >>> print(res.shape) [5, 4]
-
update
(
parameters: ParameterDict | Mapping[str, Tensor] | Sequence[tuple[str, Tensor]]
)
None
update¶
-
Update a given parameter at the end of the dict.
- Parameters
-
parameters (Parameter) – parameter to update