Download packages/softasp-solver/src/softasp_solver/registry.py from wabdalm/AS2: direct link, hf CLI and curl.
- Browser
- Download file 864 Bytes
-
https://huggingface.co/wabdalm/AS2/resolve/main/packages/softasp-solver/src/softasp_solver/registry.py
- Command line
-
hf download hf://wabdalm/AS2/packages/softasp-solver/src/softasp_solver/registry.py
-
curl -L -o registry.py https://huggingface.co/wabdalm/AS2/resolve/main/packages/softasp-solver/src/softasp_solver/registry.py
864 Bytes
| """Model registry — maps config name to model class.""" | |
| from __future__ import annotations | |
| from typing import Any | |
| import torch.nn as nn | |
| MODEL_REGISTRY: dict[str, type[nn.Module]] = {} | |
| def register_model(name: str): | |
| """Decorator to register a model class.""" | |
| def decorator(cls): | |
| MODEL_REGISTRY[name] = cls | |
| return cls | |
| return decorator | |
| def get_model(name: str, **kwargs: Any) -> nn.Module: | |
| """Instantiate a registered model by name.""" | |
| if name not in MODEL_REGISTRY: | |
| raise ValueError(f"Unknown model '{name}'. Available: {list(MODEL_REGISTRY.keys())}") | |
| return MODEL_REGISTRY[name](**kwargs) | |
| # Auto-import submodules to trigger registration | |
| from softasp_solver.sudoku import baselines as _sudoku_baselines # noqa: F401, E402 | |
| from softasp_solver.sudoku import softasp_sudoku as _sudoku # noqa: F401, E402 | |