ParameterDict¶
- class torch.nn.ParameterDict(parameters=None)[原始碼][原始碼]¶
在字典中保存參數。
ParameterDict 可以像普通的 Python 字典一樣進行索引,但它包含的 Parameters 會被正確註冊,並且對所有 Module 方法都是可見的。其他物件的處理方式與普通 Python 字典相同。
ParameterDict
是一個有序字典。使用其他無序映射類型(例如,Python 的普通dict
)進行update()
不會保留合併映射的順序。另一方面,OrderedDict
或另一個ParameterDict
將保留它們的順序。請注意,建構子、賦值字典的元素以及
update()
方法會將任何Tensor
轉換為Parameter
。- 參數
values (iterable, optional) – (字串 : Any) 的映射(字典),或是 (字串, 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
- copy()[原始碼][原始碼]¶
傳回此
ParameterDict
實例的副本。- 傳回類型
- fromkeys(keys, default=None)[原始碼][原始碼]¶
傳回一個包含所提供鍵的新 ParameterDict。
- 參數
keys (iterable, string) – 用於建立新 ParameterDict 的鍵
default (Parameter, optional) – 為所有鍵設定的值
- 傳回類型
- setdefault(key, default=None)[source][source]¶
設定 ParameterDict 中某個鍵的預設值。
如果鍵在 ParameterDict 中,則傳回其值。如果沒有,則插入具有參數 default 的 key 並傳回 default。default 預設為 None。
- update(parameters)[source][source]¶
使用
parameters
中的鍵值對更新ParameterDict
,覆寫現有的鍵。注意
如果
parameters
是一個OrderedDict
、ParameterDict
或鍵值對的可迭代對象,則保留其中新元素的順序。- 參數
parameters (iterable) – 從字串到
Parameter
的映射(字典),或是 (字串,Parameter
) 類型的鍵值對的可迭代對象