ParameterDict¶
- class torch.nn.ParameterDict(parameters=None)[source][source]¶
在一個字典中儲存引數。
ParameterDict 可以像普通的 Python 字典一樣進行索引,但其包含的 Parameters 會被正確註冊,並對所有 Module 方法可見。其他物件則像普通 Python 字典一樣處理。
ParameterDict是一個有序字典。update()方法與其他無序對映型別(例如 Python 的普通dict)一起使用時,不會保留合併對映的順序。另一方面,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
- copy()[source][source]¶
返回此
ParameterDict例項的副本。- 返回型別
- fromkeys(keys, default=None)[source][source]¶
返回一個包含提供的鍵的新 ParameterDict。
- 引數
keys (iterable, string) – 用於建立新 ParameterDict 的鍵
default (Parameter, optional) – 為所有鍵設定的值
- 返回型別
- get(key, default=None)[source][source]¶
如果存在,則返回與 key 關聯的引數。否則,如果提供了 default,則返回 default;如果未提供,則返回 None。
- setdefault(key, default=None)[source][source]¶
為 ParameterDict 中的 key 設定預設值。
如果 key 在 ParameterDict 中,則返回其值。否則,使用引數 default 插入 key 並返回 default。default 預設為 None。
- update(parameters)[source][source]¶
使用來自
parameters的鍵值對更新ParameterDict,覆蓋現有鍵。注意
如果
parameters是一個OrderedDict、一個ParameterDict或一個鍵值對可迭代物件,則其中新元素的順序將被保留。- 引數
parameters (iterable) – 從字串到
Parameter的對映(字典),或型別為 (string,Parameter) 的鍵值對可迭代物件