oneflow.nn.ParameterList¶
-
class
oneflow.nn.
ParameterList
(parameters=None)¶ Holds parameters in a list.
ParameterList
can be indexed like a regular Python list, but parameters it contains are properly registered, and will be visible by allModule
methods.The interface is consistent with PyTorch. The documentation is referenced from: https://pytorch.org/docs/1.10/generated/torch.nn.ParameterList.html?#torch.nn.ParameterList.
- Parameters
parameters (iterable, optional) – an iterable of
Parameter
to add
>>> import oneflow as flow >>> import oneflow.nn as nn >>> class MyModule(nn.Module): ... def __init__(self): ... super(MyModule, self).__init__() ... self.params = nn.ParameterList([nn.Parameter(flow.randn(10, 10)) for i in range(10)]) ... ... def forward(self, x): ... # ParameterList can act as an iterable, or be indexed using ints ... for i, p in enumerate(self.params): ... x = self.params[i // 2].mm(x) + p.mm(x) ... return x >>> model = MyModule() >>> model.params ParameterList( (0): Parameter containing: [<class 'oneflow.nn.Parameter'> of size 10x10] (1): Parameter containing: [<class 'oneflow.nn.Parameter'> of size 10x10] (2): Parameter containing: [<class 'oneflow.nn.Parameter'> of size 10x10] (3): Parameter containing: [<class 'oneflow.nn.Parameter'> of size 10x10] (4): Parameter containing: [<class 'oneflow.nn.Parameter'> of size 10x10] (5): Parameter containing: [<class 'oneflow.nn.Parameter'> of size 10x10] (6): Parameter containing: [<class 'oneflow.nn.Parameter'> of size 10x10] (7): Parameter containing: [<class 'oneflow.nn.Parameter'> of size 10x10] (8): Parameter containing: [<class 'oneflow.nn.Parameter'> of size 10x10] (9): Parameter containing: [<class 'oneflow.nn.Parameter'> of size 10x10] )