| # classification/configuration_neuroclr.py | |
| from transformers import PretrainedConfig | |
| class NeuroCLRConfig(PretrainedConfig): | |
| model_type = "neuroclr" | |
| def __init__( | |
| self, | |
| # Encoder / SSL | |
| TSlength: int = 128, | |
| nhead: int = 4, | |
| nlayer: int = 4, | |
| projector_out1: int = 256, | |
| projector_out2: int = 128, | |
| pooling: str = "flatten", # input is [B,1,128] | |
| normalize_input: bool = True, | |
| # Classification | |
| n_rois: int = 200, | |
| num_labels: int = 2, | |
| # ResNet1D head hyperparams | |
| base_filters: int = 256, | |
| kernel_size: int = 16, | |
| stride: int = 2, | |
| groups: int = 32, | |
| n_block: int = 48, | |
| downsample_gap: int = 6, | |
| increasefilter_gap: int = 12, | |
| use_bn: bool = True, | |
| use_do: bool = True, | |
| **kwargs | |
| ): | |
| super().__init__(**kwargs) | |
| # Encoder | |
| self.TSlength = TSlength | |
| self.nhead = nhead | |
| self.nlayer = nlayer | |
| self.projector_out1 = projector_out1 | |
| self.projector_out2 = projector_out2 | |
| self.pooling = pooling | |
| self.normalize_input = normalize_input | |
| # Classification | |
| self.n_rois = n_rois | |
| self.num_labels = num_labels | |
| # ResNet1D head | |
| self.base_filters = base_filters | |
| self.kernel_size = kernel_size | |
| self.stride = stride | |
| self.groups = groups | |
| self.n_block = n_block | |
| self.downsample_gap = downsample_gap | |
| self.increasefilter_gap = increasefilter_gap | |
| self.use_bn = use_bn | |
| self.use_do = use_do | |