ParameterDict

torch.nn.ParameterDict(parameters=None)[源代码]

将参数存入字典。

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

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

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

参数

values (iterable, 可选) – 一个映射(字典),包含键值对(字符串 : 任意类型)或者是一个类型为 (字符串, 任意类型) 的键值对的迭代器。

示例:

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()[源代码]

将ParameterDict中的所有项移除。

copy()[源代码]

返回该ParameterDict实例的副本。

返回类型

ParameterDict

fromkeys(keys, default=None)[源代码]

返回一个包含所提供键的新 ParameterDict。

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

  • 默认值 (Parameter, 可选) – 所有键的初始值

返回类型

ParameterDict

get(key, default=None)[源代码]

如果存在,则返回与键关联的参数;否则,如果有默认值就返回默认值,如果没有则返回 None。

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

  • 默认值 (Parameter可选) – 当键不存在时返回的值

返回类型

Any

items()[源代码]

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

返回类型

Iterable[Tuple[str, Any]]

keys()[源代码]

返回 ParameterDict 中键的可迭代对象。

返回类型

Iterable[\str]

pop(key)[源代码]

从ParameterDict中删除键并返回相应的参数。

参数

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

返回类型

Any

popitem()[源代码]

移除并返回 ParameterDict 中最后插入的 (键, 参数) 对。

返回类型

Tuple[str, Any]

setdefault(key, default=None)[源代码]

设置参数字典中键的默认值。

如果键在 ParameterDict 中,则返回其值。如果没有该键,则插入 key 并使用参数 default,然后返回 default。如果不指定,默认的 defaultNone

参数
  • key (str) – 需要设置默认值的键

  • 默认 (任何类型) – 键的参数值

返回类型

Any

update(parameters)[源代码]

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

注意

如果 parameters 是一个 OrderedDict、一个 ParameterDict 或者是一个键值对的可迭代对象,新元素的顺序会被保留。

参数

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

values()[源代码]

返回一个包含 ParameterDict 值的迭代器。

返回类型

Iterable[Any]

本页目录