diff --git a/tests/conftest.py b/tests/conftest.py index e757027..e931dd1 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -105,7 +105,7 @@ class Activations(Enum): RELU = "RELU" LINEAR = "LINEAR" - @dataclass + @dataclass(frozen=True) class TaskHyperParameters(TestSetup): """ HyperParameters for a task-specific model @@ -137,7 +137,7 @@ class Optimizers(Enum): @pytest.fixture def HyperParameters(TaskHyperParameters): - @dataclass + @dataclass(frozen=True) class HyperParameters(TestSetup): """Hyperparameters of a multi-headed model.""" diff --git a/tests/draccus_choice_plugins/gpt.py b/tests/draccus_choice_plugins/gpt.py index 9e0f75a..107773e 100644 --- a/tests/draccus_choice_plugins/gpt.py +++ b/tests/draccus_choice_plugins/gpt.py @@ -4,6 +4,6 @@ @ModelConfig.register_subclass("gpt") -@dataclasses.dataclass +@dataclasses.dataclass(frozen=True) class GptConfig(ModelConfig): attn_pdrop: float = 0.1 diff --git a/tests/draccus_choice_plugins/model_config.py b/tests/draccus_choice_plugins/model_config.py index 7190c8f..5aba4c7 100644 --- a/tests/draccus_choice_plugins/model_config.py +++ b/tests/draccus_choice_plugins/model_config.py @@ -4,7 +4,7 @@ from draccus.choice_types import PluginRegistry -@dataclasses.dataclass +@dataclasses.dataclass(frozen=True) class ModelConfig(PluginRegistry, discover_packages_path="tests.draccus_choice_plugins"): layers: int @@ -14,6 +14,6 @@ def default_choice_name(cls) -> Optional[str]: @ModelConfig.register_subclass("mlp") -@dataclasses.dataclass +@dataclasses.dataclass(frozen=True) class MlpConfig(ModelConfig): hidden_size: int = 100 diff --git a/tests/test_argparse_choice_types_plugin.py b/tests/test_argparse_choice_types_plugin.py index 68885a1..284bf4a 100644 --- a/tests/test_argparse_choice_types_plugin.py +++ b/tests/test_argparse_choice_types_plugin.py @@ -10,7 +10,7 @@ def test_plugin_registry_argparse(): - @dataclasses.dataclass + @dataclasses.dataclass(frozen=True) class Something(TestSetup): model: ModelConfig = MlpConfig(10, 5)