ParameterDict¶
- class torch.nn.ParameterDict(parameters=None)[source]¶
Holds parameters in a dictionary.
ParameterDict can be indexed like a regular Python dictionary, but Parameters it contains are properly registered, and will be visible by all Module methods. Other objects are treated as would be done by a regular Python dictionary
ParameterDict
is an ordered dictionary.update()
with other unordered mapping types (e.g., Python’s plaindict
) does not preserve the order of the merged mapping. On the other hand,OrderedDict
or anotherParameterDict
will preserve their ordering.Note that the constructor, assigning an element of the dictionary and the
update()
method will convert anyTensor
intoParameter
.- Parameters:
values (iterable, optional) – a mapping (dictionary) of (string : Any) or an iterable of key-value pairs of type (string, Any)
Example:
class MyModule(nn.Module): def __init__(self): super().__init__() self.params = nn.ParameterDict({ 'left': nn.Parameter(torch.randn(5, 10)), 'right': nn.Parameter(torch.randn(5, 10)) }) def forward(self, x, choice): x = self.params[choice].mm(x) return x
- copy()[source]¶
Returns a copy of this
ParameterDict
instance.- Return type:
- fromkeys(keys, default=None)[source]¶
Return a new ParameterDict with the keys provided
- Parameters:
keys (iterable, string) – keys to make the new ParameterDict from
default (Parameter, optional) – value to set for all keys
- Return type:
- get(key, default=None)[source]¶
Return the parameter associated with key if present. Otherwise return default if provided, None if not.
- setdefault(key, default=None)[source]¶
If key is in the ParameterDict, return its value. If not, insert key with a parameter default and return default. default defaults to None.
- update(parameters)[source]¶
Update the
ParameterDict
with the key-value pairs from a mapping or an iterable, overwriting existing keys.Note
If
parameters
is anOrderedDict
, aParameterDict
, or an iterable of key-value pairs, the order of new elements in it is preserved.- Parameters:
parameters (iterable) – a mapping (dictionary) from string to
Parameter
, or an iterable of key-value pairs of type (string,Parameter
)