参数字典 ¶
- class torch.nn.ParameterDict(parameters=None)[来源][来源] ¶
在字典中保存参数。
ParameterDict 可以像常规 Python 字典一样索引,但它包含的 Parameters 已正确注册,并且将可通过所有 Module 方法可见。其他对象将被当作常规 Python 字典处理。
ParameterDict
是一个有序字典。update()
与其他无序映射类型(例如 Python 的普通dict
)在合并映射时不会保留顺序。另一方面,OrderedDict
或另一个ParameterDict
将会保留它们的顺序。注意,构造函数、分配字典元素和
update()
方法会将任何Tensor
转换为Parameter
。- 参数:
values(可迭代,可选)- 一个 (string : Any) 的映射(字典)或一个键值对的可迭代序列,键值对类型为 (string, Any)
示例:
class MyModule(nn.Module): def __init__(self) -> None: 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][source]
返回此
ParameterDict
实例的副本。- 返回类型:
- fromkeys(keys, default=None)[source][source]¶
返回一个新的 ParameterDict,包含提供的键。
- 参数:
keys(可迭代对象,字符串)- 从中创建新的 ParameterDict 的键
default(Parameter,可选)- 为所有键设置的值
- 返回类型:
- get(key, default=None)[source][source]¶
返回与键关联的参数,如果存在。如果提供了默认值,则返回默认值,如果不存在则返回 None。
- 参数:
key (str) – 从 ParameterDict 获取的键
default (Parameter, 可选) – 如果键不存在则返回的值
- 返回类型:
- items()[来源][来源] ¶
返回 ParameterDict 键/值对的迭代器。
- 返回类型:
可迭代元组[str, Any]
- keys()[来源][来源] ¶
返回 ParameterDict 键的迭代器。
- 返回类型:
Iterable[str]
- popitem()[来源][来源] ¶
移除并返回最后插入的(键,参数)对从 ParameterDict。
- 返回类型:
元组[str, Any]
- setdefault(key, default=None)[来源][来源] ¶
设置 Parameterdict 中键的默认值。
如果键在 ParameterDict 中,则返回其值。如果不在,则插入键并使用默认参数返回默认值。默认值为 None。
- 参数:
key (str) – 要设置默认值的键
default (Any) – 设置到键的参数
- 返回类型:
- 更新(参数)[源][源]
将
ParameterDict
中的键值对更新到parameters
,覆盖现有键。注意
如果
parameters
是一个OrderedDict
、一个ParameterDict
或者键值对的迭代器,则保留新元素的顺序。- 参数:
参数(iterable) - 一个从字符串到
Parameter
的映射(字典),或一个类型为(string,Parameter
)的键值对可迭代对象。
- values()[来源][来源] ¶
返回 ParameterDict 值的可迭代对象。
- 返回类型:
可迭代对象