model.runtime.configs.learning_config¶
Unified learning configuration.
One learning run = a single coupled forward + a single optimiser, with one
or more loss heads attached to it. The shared run settings (time, spinup,
weight initialization, optimiser/training, output dir) live directly under
learning; each loss head contributes only its own data + how to split its
entities:
site_levelā flux-tower (vertical) constraint: domain + targets.gauge_levelā gauge-discharge (lateral) constraint: gauges + target.
Per-target loss weights live on the targets; k-fold CV is per head (it folds over that headās entities). At least one loss head must be present.
Module Contents¶
Classes¶
|
|
|
|
|
|
Top-level |
Data¶
API¶
- class model.runtime.configs.learning_config.GaugeSelectionConfig¶
Bases:
model.runtime.configs.base_config.BaseConfiglearning.gauge_level.gaugesā gauge discharge data + selection filters.The river-network file (gauge allocation + routing geometry) is read from
model.schemes.river_routing.parameters_path, not repeated here.- discharge_path: object¶
None
- allocation_path: object¶
None
- selection: object¶
None
- area_tol: float¶
0.2
- min_area_km2: float¶
1000.0
- min_days: int¶
730
- min_obs_runoff: float¶
0.05
- classmethod from_dict(raw)¶
- validate()¶
- class model.runtime.configs.learning_config.SiteLevelConfig¶
Bases:
model.runtime.configs.base_config.BaseConfiglearning.site_levelā flux-tower loss head (data + entity split).- domain: model.runtime.configs.site_simulation_config.DomainConfig¶
āfield(ā¦)ā
- targets_path: object¶
None
- targets: model.runtime.configs.site_learning_config.TargetConfig¶
āfield(ā¦)ā
- cross_validation: model.runtime.configs.site_learning_config.CrossValidationConfig¶
āfield(ā¦)ā
- classmethod from_dict(raw)¶
- is_enabled()¶
- validate()¶
- class model.runtime.configs.learning_config.GaugeLevelConfig¶
Bases:
model.runtime.configs.base_config.BaseConfiglearning.gauge_levelā gauge-discharge loss head (data + entity split).- gauges: model.runtime.configs.learning_config.GaugeSelectionConfig¶
āfield(ā¦)ā
- targets: model.runtime.configs.site_learning_config.TargetConfig¶
āfield(ā¦)ā
- cross_validation: model.runtime.configs.site_learning_config.CrossValidationConfig¶
āfield(ā¦)ā
- classmethod from_dict(raw)¶
- is_enabled()¶
- validate()¶
- class model.runtime.configs.learning_config.LearningConfig¶
Bases:
model.runtime.configs.base_config.BaseConfigTop-level
learningblock: one forward + one optimiser + loss heads.Shared run settings live here;
site_level/gauge_leveladd the loss heads. The parameters to calibrate and their sources are declared in the standardparameterizationblock.- time: model.runtime.configs.site_simulation_config.SiteTimeConfig¶
āfield(ā¦)ā
- spinup: model.runtime.configs.site_simulation_config.SiteSpinupConfig¶
āfield(ā¦)ā
- initialization: model.runtime.configs.site_learning_config.SiteLearningInitializationConfig¶
āfield(ā¦)ā
- training: model.runtime.configs.site_learning_config.TrainingConfig¶
āfield(ā¦)ā
- output_dir: object¶
None
- save_final_inference: bool¶
True
- site_level: model.runtime.configs.learning_config.SiteLevelConfig¶
āfield(ā¦)ā
- gauge_level: model.runtime.configs.learning_config.GaugeLevelConfig¶
āfield(ā¦)ā
- classmethod from_dict(raw)¶
- is_enabled()¶
- active_heads()¶
- validate()¶
- model.runtime.configs.learning_config.__all__¶
[āLearningConfigā, āSiteLevelConfigā, āGaugeLevelConfigā, āGaugeSelectionConfigā]