The current config flow mixes different kinds of settings in one place. Model architecture settings, preprocessing options, and training/runtime settings are too close together, which makes the package harder to understand and harder to maintain.
This issue introduces three clear config layers:
- ModelConfig for architecture and model-specific hyperparameters
- PreprocessingConfig for input handling and feature preparation
- TrainerConfig or RuntimeConfig for training loop, device, precision, callbacks, checkpointing, and related runtime behavior
The goal is to make it obvious where each setting belongs. A user should not have to guess whether a parameter is a model choice, a data choice, or a runtime choice.
The current config flow mixes different kinds of settings in one place. Model architecture settings, preprocessing options, and training/runtime settings are too close together, which makes the package harder to understand and harder to maintain.
This issue introduces three clear config layers:
The goal is to make it obvious where each setting belongs. A user should not have to guess whether a parameter is a model choice, a data choice, or a runtime choice.