2025-10-12 19:39:12 +08:00
2025-10-12 19:39:12 +08:00
2025-10-12 19:39:12 +08:00
2025-10-12 19:39:12 +08:00
2025-10-12 19:39:12 +08:00
2025-10-12 19:39:12 +08:00
2025-10-12 19:39:12 +08:00
2025-10-12 19:39:12 +08:00
2025-10-12 19:39:12 +08:00

🎯 Hydra ML Config Template

优雅的Python配置管理解决方案 | 告别杂乱的硬编码

快速开始使用场景最佳实践常见问题


📖 项目简介

这是一个基于 Hydra 的Python配置管理模板仓库,专为机器学习和数据科学项目设计。通过分层配置、动态组合、命令行覆盖等特性,让你的项目配置管理变得简单优雅。

核心特性

  • 🔧 分层配置 - 模块化管理,配置文件清晰有序
  • 🎨 动态组合 - 灵活切换不同配置组合
  • 🚀 命令行覆盖 - 无需修改代码即可调整参数
  • 📊 自动实验管理 - 每次运行自动创建独立输出目录
  • 🔄 多任务运行 - 一次性运行多组超参数实验
  • 💾 配置版本化 - 完整保存每次实验的配置

🚀 快速开始

环境安装

本项目使用 uv 进行依赖管理,这是一个极速的Python包管理工具。

1. 安装 uv

# macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh

# Windows
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"

# 或使用 pip
pip install uv

2. 克隆仓库

git clone <your-gitea-url>/hydra-ml-config-template.git
cd hydra-ml-config-template

3. 创建虚拟环境并安装依赖

# 使用 uv 创建虚拟环境
uv venv

# 激活虚拟环境
# Linux/macOS:
source .venv/bin/activate
# Windows:
.venv\Scripts\activate

# 安装依赖
uv pip install -e .

4. 运行示例

# 基础示例
python examples/01_basic/train.py

# 使用不同配置
python examples/02_ml_training/train.py model=transformer optimizer=sgd

# 多任务运行
python examples/02_ml_training/train.py -m learning_rate=0.001,0.01,0.1

🎯 使用场景

场景1: 基础配置管理

cd examples/01_basic
python train.py learning_rate=0.01

场景2: 机器学习训练配置

cd examples/02_ml_training
python train.py model=transformer optimizer=sgd
python train.py learning_rate=0.01 batch_size=64

场景3: 多环境配置

cd examples/04_multi_env
python app.py env=dev    # 开发环境
python app.py env=prod   # 生产环境

📚 学习资源


🤝 贡献

欢迎提交Issue和Pull Request!


📄 许可证

MIT License


如果这个模板对你有帮助,请给个 Star!

Made with ❤️ for ML Engineers

Description
这是一个基于 [Hydra](https://hydra.cc/) 的Python配置管理模板仓库,专为机器学习和数据科学项目设计。通过分层配置、动态组合、命令行覆盖等特性,让你的项目配置管理变得简单优雅。
Readme 34 KiB
Languages
Shell 100%