From fe31e22fdf6abe3e6c2345e40f3535cddfe95ea5 Mon Sep 17 00:00:00 2001 From: federico-carrara Date: Thu, 31 Oct 2024 18:20:41 +0100 Subject: [PATCH 1/2] refac: made some fields in `VAEAlgorithmConfig` as optional since not strictly necessary at inference time --- src/careamics/config/vae_algorithm_model.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/careamics/config/vae_algorithm_model.py b/src/careamics/config/vae_algorithm_model.py index 1474a2951..9d04536b5 100644 --- a/src/careamics/config/vae_algorithm_model.py +++ b/src/careamics/config/vae_algorithm_model.py @@ -40,18 +40,18 @@ class VAEAlgorithmConfig(BaseModel): # - values can still be passed as strings and they will be cast to Enum algorithm: Literal["musplit", "denoisplit"] - # NOTE: these are all configs (pydantic models) - loss: LVAELossConfig + # NOTE: these are all configs (pydantic models)s model: Union[LVAEModel, CustomModel] = Field(discriminator="architecture") + loss: Optional[LVAELossConfig] noise_model: Optional[MultiChannelNMConfig] = None noise_model_likelihood: Optional[NMLikelihoodConfig] = None gaussian_likelihood: Optional[GaussianLikelihoodConfig] = None # Optional fields - optimizer: OptimizerModel = OptimizerModel() + optimizer: Optional[OptimizerModel] = OptimizerModel() """Optimizer to use, defined in SupportedOptimizer.""" - lr_scheduler: LrSchedulerModel = LrSchedulerModel() + lr_scheduler: Optional[LrSchedulerModel] = LrSchedulerModel() @model_validator(mode="after") def algorithm_cross_validation(self: Self) -> Self: From 822d039f6bb8823dd43b1483d263c4f91e100ee7 Mon Sep 17 00:00:00 2001 From: federico-carrara Date: Mon, 4 Nov 2024 11:01:12 +0100 Subject: [PATCH 2/2] refac: loss default is now `None` --- src/careamics/config/vae_algorithm_model.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/careamics/config/vae_algorithm_model.py b/src/careamics/config/vae_algorithm_model.py index 9d04536b5..0c0e01d76 100644 --- a/src/careamics/config/vae_algorithm_model.py +++ b/src/careamics/config/vae_algorithm_model.py @@ -40,9 +40,9 @@ class VAEAlgorithmConfig(BaseModel): # - values can still be passed as strings and they will be cast to Enum algorithm: Literal["musplit", "denoisplit"] - # NOTE: these are all configs (pydantic models)s + # NOTE: these are all configs (pydantic models) model: Union[LVAEModel, CustomModel] = Field(discriminator="architecture") - loss: Optional[LVAELossConfig] + loss: Optional[LVAELossConfig] = None noise_model: Optional[MultiChannelNMConfig] = None noise_model_likelihood: Optional[NMLikelihoodConfig] = None gaussian_likelihood: Optional[GaussianLikelihoodConfig] = None