1.5 KiB
1.5 KiB
ModYml: 模块化配置管理库
📦 项目简介
ModYml 是一个轻量级的 Python 配置管理库,专为模块化和可复用的配置设计。通过 YAML 文件支持配置继承、参数覆盖和别名系统,让复杂配置管理变得简单直观。
✨ 核心特性
- 模块化配置:将配置拆分为可复用模块
- 动态继承:使用
$module.key语法引用其他配置 - 参数覆盖:支持运行时参数修改
$module.key(param=value) - 别名系统:为配置项创建简短别名
key(alias) - 命名空间隔离:自动管理配置项的命名空间
- 点式访问:返回
EasyDict对象支持属性式访问
⚙️ 安装
pip install modyml
🚀 快速开始
- 创建模块配置 (
modules/optimizers.yml):
adam:
type: Adam
params:
learning_rate(lr): 0.001
weight_decay(wd): 0.0001
- 创建实验配置 (
experiments/E01.yml):
training:
base_optimizer: $optimizers.adam
custom_optimizer: $optimizers.adam(lr=0.002)
special_optimizer($optimizers.adam):
params:
wd: 0.01
- 加载配置:
from modyml import load
config = load(
"experiments/E01.yml",
module_files=["modules/optimizers.yml"],
base_dir="configs/"
)
print(config.training.base_optimizer.params.lr) # 输出: 0.001
print(config.training.custom_optimizer.params.lr) # 输出: 0.002
print(config.training.special_optimizer.params.wd) # 输出: 0.01
🧪 测试
pytest tests/