
lightning-hydra-template
开箱即用的深度学习实验框架,配置驱动,快速复现和扩展。
项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 5382
使用教程
环境要求
- Python 环境(也可用 conda 创建独立环境)
- 已按 PyTorch 官方说明安装好 PyTorch
- 可联网安装 requirements.txt 中的依赖
- 能运行 pytest 的测试环境(可选,用于验证)
安装与启动步骤
-
1获取项目代码
README 要求点击 Use this template 按钮初始化自己的仓库,或直接下载代码;README 未给出 git clone 命令,此处不执行命令。
-
2安装 PyTorch
README 明确要求先按 PyTorch 官方安装说明装好对应 CUDA/CPU 版本的 PyTorch,但未给出具体安装命令。
-
3安装依赖
进入项目根目录后,按 Quickstart 安装 requirements.txt 中的依赖,需在装好 PyTorch 之后执行。
pip install -r requirements.txt -
4可选 conda 环境
README 另提供 conda 方式,用 environment.yaml 创建名为 myenv 的环境并安装依赖,二选一即可。
conda env create -f environment.yaml -n myenv -
5启动训练
模板自带 MNIST 分类示例,用默认配置启动训练,README 说明运行后应看到训练输出。
python src/train.py -
6调试模式运行
debug=default 启用调试友好配置,debug=fdr 只跑 1 个 train/val/test 循环且仅用 1 个 batch。
python train.py debug=default python train.py debug=fdr -
7运行测试
README 提供 pytest 验证命令,可跑全部测试、指定文件或跳过标记为 slow 的用例。
pytest pytest tests/test_train.py pytest -k "not slow"
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
debug | 否 | 切换调试配置,default 为调试友好模式,fdr 为单批次快速调试 | default |
tags | 否 | 为实验打标签便于过滤,单次运行缺失时会提示手动输入 | tags=["mnist","experiment_X"] |
+trainer.val_check_interval | 否 | 控制每个训练 epoch 内执行验证循环的次数 | 0.25 |
configs/hparams_search/mnist_optuna.yaml | 否 | Hydra 超参数搜索配置文件路径 | configs/hparams_search/mnist_optuna.yaml |
如何确认成功
执行 python src/train.py 后终端出现 MNIST 训练日志与进度条,且无异常报错退出,即视为启动成功。
常见问题
Q:不装 PyTorch 直接 pip install -r requirements.txt 可以吗?
A:不行。README 明确要求先按 PyTorch 官方说明安装 PyTorch,再执行 pip install -r requirements.txt。
Q:运行时没有提供 tags 会怎样?
A:单次运行会被提示在命令行输入逗号分隔的 tags;若是 multirun 则直接抛出 ValueError,要求先指定 tags。
Q:如何只运行部分测试?
A:可执行 pytest tests/test_train.py 只跑该文件,或用 pytest -k "not slow" 跳过标记为 slow 的测试用例。
Q:怎么做超参数搜索?
A:README 说明超参搜索已定义在 configs/hparams_search/mnist_optuna.yaml 中,可基于该文件运行搜索。
Q:为什么运行中会偶发报错?
A:README 指出 Lightning 与 Hydra 仍在演进且集成库众多,有时会出现不兼容导致报错,可查看仓库 bug 标签页。
注意事项
- README 未提供 git clone 命令,请通过 Use this template 按钮或下载代码包获取项目。
- Hydra 当前不支持从命令行追加列表,tags 传参时可能需按 README 提示转义方括号。
- 该模板更适合基于现成数据的模型原型开发,不太适合构建相互依赖的数据工程管道。
- 命令中出现的 train.py 与 src/train.py 均来自 README,请按实际所在目录执行。
核心亮点
- 配置与代码解耦,Hydra 支持分层配置和命令行覆盖,实验管理高效
- 目录结构清晰,模块化设计,数据、模型、回调等组件即插即用
- 集成常用训练技巧(如 EMA、SWA、剪枝)和丰富的日志/可视化选项
不足之处
- 学习曲线较陡,需要同时熟悉 PyTorch Lightning 和 Hydra 的用法
- 模板代码较多,对于简单项目可能显得过重,定制化需要一定成本
适用场景
- 快速启动新的深度学习研究实验,如分类、分割、生成等
- 团队协作时统一实验配置和代码结构,便于复现和交接
- 需要大规模超参数搜索或分布式训练的场景
替代项目
PyTorch Lightning Bolts、Catalyst、Kedro
上一篇:MLFlowClient.jl
下一篇:kedro-mlflow
同类项目推荐
meta-context-engineering
开源
让AI自动进化上下文策略,告别手写提示词
[ICML 2026] Meta Context Engineering via Agentic Skill Evolution
trl
开源
几行代码给大模型做 RLHF 对齐与偏好微调
Train transformer language models with reinforcement learning.
Merge-Stable-Diffusion-models-wi···
开源
不训练,无损合并多个Stable Diffusion模型,统一风格与能力。
Adaptation of the merging method described in the paper - Git Re-Basin: Merging Mode···
self-llm
开源
手把手教你微调部署开源大模型,中文教程一步到位
《开源大模型食用指南》针对中国宝宝量身打造的基于Linux环境快速微调(全参数/Lora)、部···
pylate
开源
训练和部署晚期交互检索模型,提升语义搜索精度
Late Interaction Models Training & Retrieval
SAELens
开源
把大模型内部激活拆成可读特征,训练与复用 SAE
Training Sparse Autoencoders on Language Models
huggingface-gemma-recipes
开源
照着 Notebook 跑,Gemma 推理微调一步到位
Inference, Fine Tuning and many more recipes with Gemma family of models
torch_brain
开源
用 PyTorch 快速搭建神经数据模型,省去数据预处理和训练样板代码
A library for designing and training deep learning models for neural data.
easevoice-trainer
开源
简单几步,训练你的专属语音克隆模型
EaseVoice Trainer is a simple and user-friendly voice cloning and speech model train···