| 116 | self._disable_remove = True |
| 117 | |
| 118 | def add_inputs(self, vals): |
| 119 | if not isinstance(vals, collections.abc.Sequence): |
| 120 | vals = (vals,) |
| 121 | for val in vals: |
| 122 | node = NodeMixin.get(val, None) |
| 123 | if isinstance(node, (TensorNode, ModuleNode)): |
| 124 | self.inputs.append(node) |
| 125 | node.users.append(self) |
| 126 | else: |
| 127 | assert node is None |
| 128 | assert not isinstance(val, (Module, RawTensor)) |
| 129 | assert _is_leaf(val) and _is_const_leaf(val) |
| 130 | idx = len(self.inputs) + len(self.const_val) |
| 131 | self.const_val.append((idx, val)) |
| 132 | |
| 133 | def add_outputs(self, outputs): |
| 134 | assert active_module_tracer() is not None |