ParameterDict¶
- class torch.nn.ParameterDict(parameters=None)[源代码]¶
在字典中保存参数。
ParameterDict 可以像普通的 Python 字典一样进行索引,但它包含的 Parameters 会被正确注册,并且所有 Module 方法都可以看到这些参数。其他对象的处理方式与普通 Python 字典相同。
ParameterDict是一个有序字典。update()与其他无序映射类型(例如,Python 的普通dict)合并时,不会保留合并映射的顺序。另一方面,OrderedDict或另一个ParameterDict将保留它们的顺序。注意,构造函数、分配字典元素和
update()方法会将任何Tensor转换为Parameter。- Parameters
值 (可迭代对象, 可选) – 一个映射(字典),包含键值对 (字符串 : 任意类型) 或一个键值对的可迭代对象,类型为 (字符串, 任意类型)
示例:
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()[源代码]¶
返回此
ParameterDict实例的副本。- Return type
- fromkeys(keys, default=None)[源代码]¶
返回一个包含所提供键的新 ParameterDict。
- Parameters
键 (可迭代对象, 字符串) – 用于创建新 ParameterDict 的键
默认值 (参数, 可选) – 为所有键设置的值
- Return type
- setdefault(key, default=None)[源代码]¶
在Parameterdict中设置键的默认值。
如果键在 ParameterDict 中,返回其值。 如果不存在,插入 key 并赋予参数 default,然后返回 default。 default 默认为 None。
- update(parameters)[源代码]¶
使用来自
parameters的键值对更新ParameterDict,覆盖现有键。注意
如果
parameters是一个OrderedDict,一个ParameterDict,或者 一个键值对的迭代器,其中新元素的顺序将被保留。- Parameters
参数 (可迭代对象) – 一个从字符串到
Parameter的映射(字典),或者一个类型为 (字符串,Parameter) 的键值对的可迭代对象