Shortcuts

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

从 ParameterDict 中移除所有项目。

copy()[源代码]

返回此 ParameterDict 实例的副本。

Return type

ParameterDict

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

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

Parameters
  • (可迭代对象, 字符串) – 用于创建新 ParameterDict 的键

  • 默认值 (参数, 可选) – 为所有键设置的值

Return type

ParameterDict

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

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

Parameters
  • (str) – 从 ParameterDict 中获取的键

  • 默认值 (参数, 可选) – 如果键不存在则返回的值

Return type

任意

items()[源代码]

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

Return type

可迭代对象[元组[字符串, 任意类型]]

keys()[源代码]

返回一个包含 ParameterDict 键的可迭代对象。

Return type

可迭代对象[字符串]

pop(key)[源代码]

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

Parameters

(str) – 要从 ParameterDict 中弹出的键

Return type

任意

popitem()[源代码]

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

Return type

元组[字符串, 任意]

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

在Parameterdict中设置键的默认值。

如果键在 ParameterDict 中,返回其值。 如果不存在,插入 key 并赋予参数 default,然后返回 defaultdefault 默认为 None

Parameters
  • (str) – 设置默认值的键

  • 默认值 (任意类型) – 设置给键的参数

Return type

任意

update(parameters)[源代码]

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

注意

如果 parameters 是一个 OrderedDict,一个 ParameterDict,或者 一个键值对的迭代器,其中新元素的顺序将被保留。

Parameters

参数 (可迭代对象) – 一个从字符串到 Parameter 的映射(字典),或者一个类型为 (字符串, Parameter) 的键值对的可迭代对象

values()[源代码]

返回一个包含 ParameterDict 值的可迭代对象。

Return type

可迭代对象[任意类型]

优云智算