Skip to content

Add YAML/JSON configuration manager for hyperparameter management (fixes #208)#218

Open
kamalahasiniburra wants to merge 1 commit intoML4SCI:mainfrom
kamalahasiniburra:add-config-manager
Open

Add YAML/JSON configuration manager for hyperparameter management (fixes #208)#218
kamalahasiniburra wants to merge 1 commit intoML4SCI:mainfrom
kamalahasiniburra:add-config-manager

Conversation

@kamalahasiniburra
Copy link
Copy Markdown

Summary

Addresses Issue #208. This PR adds a ConfigManager class that abstracts hyperparameters into YAML/JSON configuration files for reproducibility and agentic automation.

Features

  • ConfigManager class with dot-notation access (e.g., config.get('training.learning_rate'))
    • Built-in defaults for classification and regression tasks
    • Load/save JSON and YAML configuration files
    • Deep merge: partial config files are merged with sensible defaults
    • Configuration validation (learning rate bounds, data split consistency, etc.)
    • Configuration diff: compare two configs to see what changed

Tests

  • 25 comprehensive tests, all passing
    • Covers: defaults, get/set, file I/O, validation, diff, and dict operations

Files

  • config_manager.py: Main configuration manager module (312 lines)
    • test_config_manager.py: Test suite (197 lines)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant