lightning-hydra-template

开箱即用的深度学习实验框架,配置驱动,快速复现和扩展。

开源 🏷️完全免费 🔧 仅开源项目,无在线服务,需自行部署 基础设施 🍴 复刻 757 🐛 待处理 82 👀 关注 29
GitHub ↗
GitHub 星标 ★ 5382
维护状态 低维护
是否开源 开源
定价模式 🏷️完全免费 开源项目,完全免费,可自行部署使用。

项目预览

lightning-hydra-template 项目界面预览图
图片来源:GitHub 官方仓库名片

项目数据

分类基础设施
开发团队ashleve
定价模式🏷️完全免费
价格说明开源项目,完全免费,可自行部署使用。
访问状态🔧 仅开源项目,无在线服务,需自行部署
是否开源是
主要语言Python
技术栈/模型best-practices,config,deep-learning,hydra,mlops,project-structure,pytorch,pytorch-lightning,reproducibility,template
GitHub 星标★ 5382
上线时间2020-11-04 00:00:00
代码更新2026-06-11
仓库体积3.8 MB
本站数据更新2026-11-09
维护状态低维护
收录时间2026-08-09
浏览次数3

项目介绍

这是一个面向机器学习实验的工程化模板,基于 PyTorch Lightning 和 Hydra 构建。它解决了深度学习项目中配置管理混乱、代码结构不清晰、实验难以复现和扩展的问题。核心能力包括:通过 Hydra 实现分层配置和命令行覆盖,支持多任务、多数据集、多模型的灵活组合;利用 Lightning 的 Trainer 简化训练、验证、测试流程,并集成日志记录、检查点保存、早停等常用功能;提供清晰的目录结构和可复用的代码模块,如数据模块、模型、回调、损失函数等,方便用户快速搭建新实验。模板还支持超参数搜索、分布式训练和部署导出,适合研究团队和工业界快速迭代。

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 5382

使用教程

难度:入门 约 15 分钟 部署方式:本地安装 7 步

环境要求

  • Python 环境(也可用 conda 创建独立环境)
  • 已按 PyTorch 官方说明安装好 PyTorch
  • 可联网安装 requirements.txt 中的依赖
  • 能运行 pytest 的测试环境(可选,用于验证)

安装与启动步骤

  1. 1获取项目代码

    README 要求点击 Use this template 按钮初始化自己的仓库,或直接下载代码;README 未给出 git clone 命令,此处不执行命令。

  2. 2安装 PyTorch

    README 明确要求先按 PyTorch 官方安装说明装好对应 CUDA/CPU 版本的 PyTorch,但未给出具体安装命令。

  3. 3安装依赖

    进入项目根目录后,按 Quickstart 安装 requirements.txt 中的依赖,需在装好 PyTorch 之后执行。

    pip install -r requirements.txt
  4. 4可选 conda 环境

    README 另提供 conda 方式,用 environment.yaml 创建名为 myenv 的环境并安装依赖,二选一即可。

    conda env create -f environment.yaml -n myenv
  5. 5启动训练

    模板自带 MNIST 分类示例,用默认配置启动训练,README 说明运行后应看到训练输出。

    python src/train.py
  6. 6调试模式运行

    debug=default 启用调试友好配置,debug=fdr 只跑 1 个 train/val/test 循环且仅用 1 个 batch。

    python train.py debug=default
    python train.py debug=fdr
  7. 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

★ 185 2026-08-09
trl 开源

几行代码给大模型做 RLHF 对齐与偏好微调

Train transformer language models with reinforcement learning.

★ 19692 2026-09-20
Merge-Stable-Diffusion-models-wi··· 开源

不训练,无损合并多个Stable Diffusion模型,统一风格与能力。

Adaptation of the merging method described in the paper - Git Re-Basin: Merging Mode···

★ 147 2026-08-09
self-llm 开源

手把手教你微调部署开源大模型,中文教程一步到位

《开源大模型食用指南》针对中国宝宝量身打造的基于Linux环境快速微调(全参数/Lora)、部···

★ 32729 2026-08-09
pylate 开源

训练和部署晚期交互检索模型,提升语义搜索精度

Late Interaction Models Training & Retrieval

★ 906 2026-08-09
SAELens 开源

把大模型内部激活拆成可读特征,训练与复用 SAE

Training Sparse Autoencoders on Language Models

★ 1581 2026-10-12
huggingface-gemma-recipes 开源

照着 Notebook 跑,Gemma 推理微调一步到位

Inference, Fine Tuning and many more recipes with Gemma family of models

★ 304 2026-09-16
torch_brain 开源

用 PyTorch 快速搭建神经数据模型,省去数据预处理和训练样板代码

A library for designing and training deep learning models for neural data.

★ 105 2026-10-17
easevoice-trainer 开源

简单几步,训练你的专属语音克隆模型

EaseVoice Trainer is a simple and user-friendly voice cloning and speech model train···

★ 350 2026-08-09