LayerDict

class paddle.nn. LayerDict ( sublayers=None ) [source]

LayerDict holds sublayers in the ordered dictionary, and sublayers it contains are properly registered. Held sublayers can be accessed like a regular ordered python dictionary.

Parameters

sublayers (LayerDict|OrderedDict|list[(key,Layer)...], optional) – iterable of key/value pairs, the type of value is ‘paddle.nn.Layer’ .

Examples

>>> import paddle
>>> import numpy as np
>>> from collections import OrderedDict

>>> sublayers = OrderedDict([
...     ('conv1d', paddle.nn.Conv1D(3, 2, 3)),
...     ('conv2d', paddle.nn.Conv2D(3, 2, 3)),
...     ('conv3d', paddle.nn.Conv3D(4, 6, (3, 3, 3))),
>>> ])

>>> layers_dict = paddle.nn.LayerDict(sublayers=sublayers)

>>> l = layers_dict['conv1d']

>>> for k in layers_dict:
...     l = layers_dict[k]
...
>>> print(len(layers_dict))
3

>>> del layers_dict['conv2d']
>>> print(len(layers_dict))
2

>>> conv1d = layers_dict.pop('conv1d')
>>> print(len(layers_dict))
1

>>> layers_dict.clear()
>>> print(len(layers_dict))
0
clear ( )

clear

Clear all the sublayers in the LayerDict.

Parameters

None.

Examples

>>> import paddle
>>> from collections import OrderedDict

>>> sublayers = OrderedDict([
...     ('conv1d', paddle.nn.Conv1D(3, 2, 3)),
...     ('conv2d', paddle.nn.Conv2D(3, 2, 3)),
...     ('conv3d', paddle.nn.Conv3D(4, 6, (3, 3, 3))),
>>> ])

>>> layer_dict = paddle.nn.LayerDict(sublayers=sublayers)
>>> len(layer_dict)
3

>>> layer_dict.clear()
>>> len(layer_dict)
0
pop ( key )

pop

Remove the key from the LayerDict and return the layer of the key.

Parameters

key (str) – the key to be removed.

Examples

>>> import paddle
>>> from collections import OrderedDict

>>> sublayers = OrderedDict([
...     ('conv1d', paddle.nn.Conv1D(3, 2, 3)),
...     ('conv2d', paddle.nn.Conv2D(3, 2, 3)),
...     ('conv3d', paddle.nn.Conv3D(4, 6, (3, 3, 3))),
>>> ])

>>> layer_dict = paddle.nn.LayerDict(sublayers=sublayers)
>>> len(layer_dict)
3

>>> layer_dict.pop('conv2d')
>>> len(layer_dict)
2
keys ( )

keys

Return the iterable of the keys in LayerDict.

Parameters

None.

Examples

>>> import paddle
>>> from collections import OrderedDict

>>> sublayers = OrderedDict([
...     ('conv1d', paddle.nn.Conv1D(3, 2, 3)),
...     ('conv2d', paddle.nn.Conv2D(3, 2, 3)),
...     ('conv3d', paddle.nn.Conv3D(4, 6, (3, 3, 3))),
>>> ])

>>> layer_dict = paddle.nn.LayerDict(sublayers=sublayers)
>>> for k in layer_dict.keys():
...     print(k)
conv1d
conv2d
conv3d
items ( )

items

Return the iterable of the key/value pairs in LayerDict.

Parameters

None.

Examples

>>> import paddle
>>> from collections import OrderedDict

>>> sublayers = OrderedDict([
...     ('conv1d', paddle.nn.Conv1D(3, 2, 3)),
...     ('conv2d', paddle.nn.Conv2D(3, 2, 3)),
...     ('conv3d', paddle.nn.Conv3D(4, 6, (3, 3, 3))),
>>> ])

>>> layer_dict = paddle.nn.LayerDict(sublayers=sublayers)
>>> for k, v in layer_dict.items():
...     print(f"{k}:", v)
conv1d : Conv1D(3, 2, kernel_size=[3], data_format=NCL)
conv2d : Conv2D(3, 2, kernel_size=[3, 3], data_format=NCHW)
conv3d : Conv3D(4, 6, kernel_size=[3, 3, 3], data_format=NCDHW)
values ( )

values

Return the iterable of the values in LayerDict.

Parameters

None.

Examples

>>> import paddle
>>> from collections import OrderedDict

>>> sublayers = OrderedDict([
...     ('conv1d', paddle.nn.Conv1D(3, 2, 3)),
...     ('conv2d', paddle.nn.Conv2D(3, 2, 3)),
...     ('conv3d', paddle.nn.Conv3D(4, 6, (3, 3, 3))),
>>> ])

>>> layer_dict = paddle.nn.LayerDict(sublayers=sublayers)
>>> for v in layer_dict.values():
...     print(v)
Conv1D(3, 2, kernel_size=[3], data_format=NCL)
Conv2D(3, 2, kernel_size=[3, 3], data_format=NCHW)
Conv3D(4, 6, kernel_size=[3, 3, 3], data_format=NCDHW)
update ( sublayers )

update

Update the key/values pairs in sublayers to the LayerDict, overwriting the existing keys.

Parameters

sublayers (LayerDict|OrderedDict|list[(key,Layer)...]) – iterable of key/value pairs, the type of value is ‘paddle.nn.Layer’ .

Examples

>>> import paddle
>>> from collections import OrderedDict

>>> sublayers = OrderedDict([
...     ('conv1d', paddle.nn.Conv1D(3, 2, 3)),
...     ('conv2d', paddle.nn.Conv2D(3, 2, 3)),
...     ('conv3d', paddle.nn.Conv3D(4, 6, (3, 3, 3))),
>>> ])

>>> new_sublayers = OrderedDict([
...     ('relu', paddle.nn.ReLU()),
...     ('conv2d', paddle.nn.Conv2D(4, 2, 4)),
>>> ])
>>> layer_dict = paddle.nn.LayerDict(sublayers=sublayers)

>>> layer_dict.update(new_sublayers)

>>> for k, v in layer_dict.items():
...     print(f"{k}:", v)
conv1d : Conv1D(3, 2, kernel_size=[3], data_format=NCL)
conv2d : Conv2D(4, 2, kernel_size=[4, 4], data_format=NCHW)
conv3d : Conv3D(4, 6, kernel_size=[3, 3, 3], data_format=NCDHW)
relu : ReLU()