評價此頁

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]