lisbet.config.schemas#
Classes
|
Configuration for a single data augmentation technique. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- class lisbet.config.schemas.TransformerBackboneConfig(**data)[source]#
- type: Literal['transformer']#
- feature_dim: int | None#
- embedding_dim: int#
- num_heads: int#
- num_layers: int#
- max_length: int#
- model_config: ClassVar[ConfigDict] = {}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class lisbet.config.schemas.TCNBackboneConfig(**data)[source]#
- type: Literal['tcn']#
- feature_dim: int | None#
- embedding_dim: int#
- num_layers: int#
- kernel_size: int#
- dilation_base: int#
- dropout: float#
- model_config: ClassVar[ConfigDict] = {}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class lisbet.config.schemas.LSTMBackboneConfig(**data)[source]#
- type: Literal['lstm']#
- feature_dim: int | None#
- embedding_dim: int#
- num_layers: int#
- model_config: ClassVar[ConfigDict] = {}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class lisbet.config.schemas.DataConfig(**data)[source]#
- data_path: str#
- data_format: str#
- data_scale: str | None#
- data_filter: str | None#
- select_coords: str | None#
- rename_coords: str | None#
- window_size: int#
- window_offset: int#
- fps_scaling: float#
- dev_ratio: float | None#
- train_sample: float | None#
- dev_sample: float | None#
- model_config: ClassVar[ConfigDict] = {}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class lisbet.config.schemas.DataAugmentationConfig(**data)[source]#
Configuration for a single data augmentation technique.
Augmentation families and parameter semantics:
- Permutation-based :
all_perm_id: Full-window permutation of individual identities.
all_perm_ax: Full-window permutation of spatial axes.
- blk_perm_id: Block (contiguous frames) permutation of individual
identities. Uses
fracfor relative block length.
For these,
pis the probability of applying the entire transform (implemented viaRandomApplyin the pipeline).- Jitter-based :
- gauss_jitter: For the full window (time, keypoints,
individuals), adds N(0, sigma) noise.
- Ablation-based :
- kp_ablation: Per-element Bernoulli(pB) mask over (time, keypoints,
individuals), sets selected elements to 0.0 (all space dims). Simulates missing or occluded keypoints.
- Rotation-based :
- rotation: Random rotation of all keypoint coordinates around the
center of the normalized coordinate space. Supports 2D and 3D (auto-detected). Uses
max_anglefor the rotation range andmodefor post-rotation normalization.
- Attributes:
name: Name of the augmentation technique p: Probability of applying this transformation (0.0 to 1.0) pB: When applicable, per-element Bernoulli probability (kp_ablation types only) frac: Fraction of frames to permute (only for block-based augmentations, 0.0
to 1.0 exclusive)
sigma: Standard deviation of Gaussian noise (jitter types only) max_angle: Maximum rotation angle in degrees (rotation only, default 180.0) mode: Post-rotation normalization mode (rotation only). One of “truncate”,
“rescale”, “none”. Default “truncate”.
- model_config: ClassVar[ConfigDict] = {'extra': 'forbid'}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- name: Literal['all_perm_id', 'all_perm_ax', 'blk_perm_id', 'gauss_jitter', 'kp_ablation', 'rotation']#
- p: float#
- pB: float | None#
- frac: float | None#
- sigma: float | None#
- max_angle: float | None#
- mode: str | None#
- VALID_PARAMS: ClassVar[dict[str, set[str]]] = {'all_perm_ax': {'p'}, 'all_perm_id': {'p'}, 'blk_perm_id': {'frac', 'p'}, 'gauss_jitter': {'p', 'sigma'}, 'kp_ablation': {'p', 'pB'}, 'rotation': {'max_angle', 'mode', 'p'}}#
- class lisbet.config.schemas.DataAugmentationPipeline(**data)[source]#
- augmentations: list[DataAugmentationConfig]#
- model_config: ClassVar[ConfigDict] = {}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class lisbet.config.schemas.ModelConfig(**data)[source]#
- model_id: str | None#
- backbone: Annotated[TransformerBackboneConfig | LSTMBackboneConfig | TCNBackboneConfig, FieldInfo(annotation=NoneType, required=True, discriminator='type')]#
- out_heads: dict[str, dict]#
- input_features: dict[str, list[str]]#
- window_size: int#
- window_offset: int#
- model_config: ClassVar[ConfigDict] = {}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class lisbet.config.schemas.TrainingConfig(**data)[source]#
- epochs: int#
- batch_size: int#
- learning_rate: float#
- data_augmentation: list[DataAugmentationConfig] | None#
- save_weights: str | None#
- save_history: bool#
- mixed_precision: bool#
- head_type: Literal['mlp', 'linear']#
- freeze_backbone_weights: bool#
- load_backbone_weights: str | Path | None#
- model_config: ClassVar[ConfigDict] = {}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class lisbet.config.schemas.ExperimentConfig(**data)[source]#
- run_id: str | None#
- model: ModelConfig#
- training: TrainingConfig#
- data: DataConfig#
- task_ids_list: list[str]#
- task_data: str | None#
- seed: int#
- output_path: Path#
- model_config: ClassVar[ConfigDict] = {}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].