| 267 | recursive_add_processors(name, module) |
| 268 | |
| 269 | class NNModuleWrapper(torch.nn.Module): |
| 270 | def __init__(self, module): |
| 271 | super().__init__() |
| 272 | self.module = module |
| 273 | |
| 274 | def forward(self, *args, **kwargs): |
| 275 | return self.module(*args, **kwargs) |
| 276 | |
| 277 | def __getattr__(self, name: str): |
| 278 | try: |
| 279 | return super().__getattr__(name) |
| 280 | except AttributeError: |
| 281 | return getattr(self.module, name) |
| 282 | |
| 283 | class AttnProcessorSwitch(torch.nn.Module): |
| 284 | def __init__( |