评价此页

ParameterDict#

class torch.nn.modules.container.ParameterDict(parameters=None)[source]#

以字典形式保存参数。

ParameterDict 可以像普通 Python 字典一样进行索引,但其中包含的 Parameters 会被正确注册,并且对所有 Module 方法可见。其他对象将被视为普通 Python 字典进行处理。

ParameterDict 是一个有序字典。使用其他无序映射类型(例如 Python 的普通 dict)进行 update() 操作不会保留合并映射的顺序。另一方面,使用 OrderedDict 或另一个 ParameterDict 会保留它们的顺序。

请注意,构造函数、字典元素的赋值以及 update() 方法会将任何 Tensor 转换为 Parameter

参数

values (iterable, optional) – 一个 (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
clear()[source]#

从 ParameterDict 中移除所有项。

copy()[source]#

返回此 ParameterDict 实例的副本。

返回类型

参数字典

fromkeys(keys, default=None)[source]#

返回一个包含指定键的新 ParameterDict。

参数
  • keys (iterable, string) – 用于创建新 ParameterDict 的键

  • default (Parameter, optional) – 设置给所有键的值

返回类型

参数字典

get(key, default=None)[source]#

如果键存在,则返回与之关联的参数。否则,如果提供了 default,则返回 default,否则返回 None。

参数
  • key (str) – 要从 ParameterDict 中获取的键

  • default (Parameter, optional) – 键不存在时返回的值

返回类型

任何

items()[source]#

返回 ParameterDict 键/值对的可迭代对象。

返回类型

Iterable[tuple[str, Any]]

keys()[source]#

返回 ParameterDict 键的可迭代对象。

返回类型

KeysView[str]

pop(key)[source]#

从 ParameterDict 中移除键并返回其参数。

参数

key (str) – 要从 ParameterDict 中移除的键

返回类型

任何

popitem()[source]#

从 ParameterDict 中移除并返回最后插入的 (key, parameter) 对。

返回类型

tuple[str, Any]

setdefault(key, default=None)[source]#

设置 ParameterDict 中键的默认值。

如果键在 ParameterDict 中,则返回其值。否则,插入 key 和参数 default 并返回 defaultdefault 默认为 None

参数
  • key (str) – 用于设置默认值的键

  • default (Any) – 设置给键的参数

返回类型

任何

update(parameters)[source]#

使用 parameters 中的键值对更新 ParameterDict,并覆盖现有键。

注意

如果 parametersOrderedDictParameterDict 或键值对的可迭代对象,则其中新元素的顺序将被保留。

参数

parameters (iterable) – 一个从 string 到 Parameter 的映射(字典),或一个 (string, Parameter) 类型的键值对的可迭代对象

values()[source]#

返回 ParameterDict 值(参数)的可迭代对象。

返回类型

Iterable[Any]