評價此頁

ParameterDict#

class torch.nn.ParameterDict(parameters=None)[原始碼]#

以字典形式儲存引數。

ParameterDict 可以像普通 Python 字典一樣被索引,但其中包含的 Parameter 會被正確註冊,並且對所有 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()[原始碼]#

從 ParameterDict 中移除所有項。

copy()[原始碼]#

返回此 ParameterDict 例項的副本。

返回型別

引數字典

fromkeys(keys, default=None)[原始碼]#

返回一個具有提供的鍵的新 ParameterDict。

引數
  • keys (iterable, string) – 用於建立新 ParameterDict 的鍵

  • default (Parameter, optional) – 為所有鍵設定的值

返回型別

引數字典

get(key, default=None)[原始碼]#

如果鍵存在,則返回與該鍵關聯的引數。否則,如果提供了 default,則返回 default,否則返回 None。

引數
  • key (str) – 要從 ParameterDict 獲取的鍵

  • default (Parameter, optional) – 鍵不存在時返回的值

返回型別

任何

items()[原始碼]#

返回 ParameterDict 鍵/值對的可迭代物件。

返回型別

Iterable[tuple[str, Any]]

keys()[原始碼]#

返回 ParameterDict 鍵的可迭代物件。

返回型別

KeysView[str]

pop(key)[原始碼]#

從 ParameterDict 中移除鍵並返回其引數。

引數

key (str) – 要從 ParameterDict 中移除的鍵

返回型別

任何

popitem()[原始碼]#

從 ParameterDict 中移除並返回最後一個插入的 (key, parameter) 對。

返回型別

tuple[str, Any]

setdefault(key, default=None)[原始碼]#

設定 ParameterDict 中鍵的預設值。

如果 key 在 ParameterDict 中,則返回其值。如果不在,則插入 key 並設定其引數為 default,然後返回 defaultdefault 預設為 None

引數
  • key (str) – 要設定預設值的鍵

  • default (Any) – 設定給鍵的引數

返回型別

任何

update(parameters)[原始碼]#

使用 parameters 中的鍵值對更新 ParameterDict,會覆蓋現有鍵。

注意

如果 parametersOrderedDictParameterDict 或鍵值對的可迭代物件,則其中新元素的順序會被保留。

引數

parameters (iterable) – 一個從 string 到 Parameter 的對映(字典),或一個 (string, Parameter) 型別的鍵值對可迭代物件

values()[原始碼]#

返回 ParameterDict 值(引數)的可迭代物件。

返回型別

Iterable[Any]