Coverage for src / autoencodix / configs / maskix_config.py: 100%

9 statements  

« prev     ^ index     » next       coverage.py v7.14.0, created at 2026-05-21 10:09 +0200

1from .default_config import DefaultConfig 

2from pydantic import Field 

3 

4 

5class MaskixConfig(DefaultConfig): 

6 """ 

7 A specialized configuration inheriting from DefaultConfig. 

8 """ 

9 

10 beta: float = Field( 

11 default=0.1, # Overridden default (was 1.0) 

12 ge=0, 

13 description="Beta weighting factor for VAE loss", 

14 ) 

15 epoch: int = Field( 

16 default=30, ge=0, description="How many epochs should the model train for." 

17 ) 

18 maskix_hidden_dim: int = Field( 

19 default=128, 

20 ge=8, 

21 description="The Maskix implementation follows https://doi.org/10.1093/bioinformatics/btae020. The authors use a hidden dimension 0f 256 for their neural network, so we set this as default", 

22 ) 

23 maskix_swap_prob: float = Field( 

24 default=0.2, 

25 ge=0, 

26 description="For the Maskix input_data masinkg, we sample a probablity if samples within one gene should be swapt. This is done with a Bernoulli distribution, maskix_swap_prob is the probablity passed to the bernoulli distribution ", 

27 ) 

28 delta_mask_predictor: float = Field( 

29 default=0.7, 

30 ge=0.0, 

31 description="Delta weighting factor of the mask prediction loss term for the Maskix", 

32 ) 

33 delta_mask_corrupted: float = Field( 

34 default=0.75, 

35 ge=0.0, 

36 description="For the Maskix: if >0.5 this gives more weight for the correct reconstruction of corrupted input", 

37 ) 

38 

39 # TODO find sensible defaults for Maskix