Skip to content

feat: Add Hydra configuration system for ML experiments#95

Merged
gelluisaac merged 4 commits intoTraqora:mainfrom
tecch-wiz:feat
Mar 24, 2026
Merged

feat: Add Hydra configuration system for ML experiments#95
gelluisaac merged 4 commits intoTraqora:mainfrom
tecch-wiz:feat

Conversation

@tecch-wiz
Copy link
Copy Markdown
Contributor

  • Implement comprehensive Hydra configuration system for easy experiment management
  • Create YAML configs for model, training, and data parameters
  • Add flexible train.py script supporting command-line overrides
  • Include pre-configured experiments (debug, baseline, hyperparameter search)
  • Enable hyperparameter sweeps with --multirun functionality
  • Add comprehensive documentation and usage examples

Features:

  • Easy parameter override: python train.py model.lr=0.001
  • Hyperparameter sweeps: python train.py --multirun training.lr=0.001,0.01,0.1
  • Pre-configured experiments for common use cases
  • Automatic output organization and logging
  • Model checkpointing with early stopping
  • Support for multiple datasets and model architectures
  • Comprehensive documentation in docs/experiment-configs.md

Configuration Structure:

  • configs/config.yaml: Main configuration with defaults
  • configs/model/gcn.yaml: GCN model configurations
  • configs/training/default.yaml: Training hyperparameters
  • configs/data/cora.yaml: Dataset configurations
  • configs/experiments/: Pre-configured experiment setups

This enables users to easily run experiments with simple command-line overrides and systematic hyperparameter searches.

closes #79

- Implement comprehensive Hydra configuration system for easy experiment management
- Create YAML configs for model, training, and data parameters
- Add flexible train.py script supporting command-line overrides
- Include pre-configured experiments (debug, baseline, hyperparameter search)
- Enable hyperparameter sweeps with --multirun functionality
- Add comprehensive documentation and usage examples

Features:
- Easy parameter override: python train.py model.lr=0.001
- Hyperparameter sweeps: python train.py --multirun training.lr=0.001,0.01,0.1
- Pre-configured experiments for common use cases
- Automatic output organization and logging
- Model checkpointing with early stopping
- Support for multiple datasets and model architectures
- Comprehensive documentation in docs/experiment-configs.md

Configuration Structure:
- configs/config.yaml: Main configuration with defaults
- configs/model/gcn.yaml: GCN model configurations
- configs/training/default.yaml: Training hyperparameters
- configs/data/cora.yaml: Dataset configurations
- configs/experiments/: Pre-configured experiment setups

This enables users to easily run experiments with simple command-line overrides
and systematic hyperparameter searches.
@drips-wave
Copy link
Copy Markdown

drips-wave bot commented Mar 24, 2026

@tecch-wiz Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

- Fix experiment configuration paths and structure
- Add test_config.py for testing Hydra without PyTorch dependencies
- Create requirements-minimal.txt for quick setup
- Add requirements-cpu.txt for CPU-only PyTorch installation
- Update experiment configs with proper defaults and _self_
- Add README_HYDRA.md with quick start guide
- Successfully test command-line overrides and pre-configured experiments

Features:
- Working parameter overrides: python test_config.py experiments.training.lr=0.001
- Pre-configured experiments: debug, baseline, hyperparameter search
- Virtual environment setup with minimal dependencies
- Automatic output organization and configuration tracking

Tested and verified:
- Configuration loading and merging
- Command-line parameter overrides
- Experiment selection with --config-name
- Combined overrides working correctly
- Output directory structure and logging
- Add docs/conf.py with comprehensive Sphinx configuration
- Create docs/index.md as main documentation homepage
- Set up Sphinx RTD theme with modern extensions
- Enable MyST parser for Markdown support
- Configure autodoc, napoleon, and type hints
- Add intersphinx links to Python, NumPy, Pandas, PyTorch
- Successfully build HTML documentation in docs/_build/
- Include all required static assets and themes

Features:
- Modern responsive theme (Read the Docs)
- Markdown support with MyST parser
- Automatic API documentation generation
- Code syntax highlighting and copy buttons
- Search functionality and navigation
- Cross-references to popular Python libraries

The documentation system is now fully functional and ready for content expansion.
@gelluisaac gelluisaac merged commit 87aa86f into Traqora:main Mar 24, 2026
1 of 2 checks passed
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.

[Infra] Hydra Configuration for Hyperparameter Sweeps

2 participants