feat(models): model config dataclass and architecture registry #18
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Implement
solver/models/config.pywith config parsing and an encoder registry pattern.Components
ModelConfig dataclass
configs/model/baseline.yaml,configs/model/gat.yaml)name,architecture,encoder(EncoderConfig),node_features_dim,edge_features_dim,heads(dict of HeadConfig)HeadConfig dataclass
enabled,hidden_dim,num_classes(optional)EncoderConfig dataclass
num_layers,hidden_dim,dropout,num_heads(optional),residual(optional)Registry
@register_encoder(name)decorator for registering encoder classesbuild_model(config: ModelConfig) -> nn.Modulefactory function that resolves architecture name to encoder classFiles
solver/models/config.pytests/models/test_config.pyAcceptance criteria
baseline.yamlandgat.yamlintoModelConfigbuild_modelraisesValueErroron unknown architecture