Module.named_modules(memo=None, prefix='')

Returns an iterator over all modules in the network, yielding both the name of the module as well as the module itself.

  • memo – a memo to store the set of modules already added to the result

  • prefix – a prefix that will be added to the name of the module


(string, Module) – Tuple of name and module


Duplicate modules are returned only once. In the following example, l will be returned only once.


>>> import oneflow.nn as nn
>>> l = nn.Linear(2, 2)
>>> net = nn.Sequential(l, l)
>>> for idx, m in enumerate(net.named_modules()):
...     print(idx, '->', m)
0 -> ('', Sequential(
  (0): Linear(in_features=2, out_features=2, bias=True)
  (1): Linear(in_features=2, out_features=2, bias=True)
1 -> ('0', Linear(in_features=2, out_features=2, bias=True))