| 14 | |
| 15 | |
| 16 | class BaseModule(nn.Module): |
| 17 | @dataclass |
| 18 | class Config: |
| 19 | pass |
| 20 | |
| 21 | cfg: Config # add this to every subclass of BaseModule to enable static type checking |
| 22 | |
| 23 | def __init__( |
| 24 | self, cfg: Optional[Union[dict, DictConfig]] = None, *args, **kwargs |
| 25 | ) -> None: |
| 26 | super().__init__() |
| 27 | self.cfg = parse_structured(self.Config, cfg) |
| 28 | self.configure(*args, **kwargs) |
| 29 | |
| 30 | def configure(self, *args, **kwargs) -> None: |
| 31 | raise NotImplementedError |
| 32 | |
| 33 | |
| 34 | def find_class(cls_string): |
nothing calls this directly
no outgoing calls
no test coverage detected