| 100 | super().__setattr__(name, value) |
| 101 | |
| 102 | def named_modules(self, memo=None, prefix="", remove_duplicate=True): |
| 103 | if memo is None: |
| 104 | memo = set() |
| 105 | if self not in memo: |
| 106 | if remove_duplicate: |
| 107 | memo.add(self) |
| 108 | yield prefix, self |
| 109 | for name, module in self._modules.items(): |
| 110 | if module is None: |
| 111 | continue |
| 112 | submodule_prefix = prefix + ("." if prefix else "") + name |
| 113 | for m in module.named_modules(memo, submodule_prefix, remove_duplicate): |
| 114 | yield m |
| 115 | |
| 116 | def named_modules_with_parent(self, memo=None, prefix="", parent=None, remove_duplicate=True): |
| 117 | if memo is None: |