PyTorch Lightning

PyTorch Lightning

Organized PyTorch

把 PyTorch 工程细节交给 Trainer

Lightning 拥有 40+ 面向规模化研究的高级特性,让你在 1000s 块 GPU/TPU 上训练而无需改动一行模型代码。

40+
面向规模化研究的高级特性
1000s GPU
免改代码扩展至多卡/多节点
Apache 2.0
开源协议

免费试用 · 无需下载即可在线体验

只是组织起来的 PyTorch

PyTorch Lightning

PyTorch Lightning 的核心思想是把你的 PyTorch 代码组织成 LightningModule(一个 nn.Module 子类,定义完整系统)与 Trainer(自动化其余一切)两部分。它并没有抽象掉 PyTorch,只是把「科学」与「工程」解耦——工程部分(设备放置、梯度开关、分布式、半精度、日志、检查点)由 Trainer 以社区最佳实践自动完成。

这与「Everything in Blue」的理念一致:用蓝色把工程(blue)与科学(red)区分开。Lightning 拥有 40+ 高级特性,并深度集成 TensorBoard、Weights & Biases、Comet、MLflow、Neptune 等实验管理器;同时与 PyTorch 生态完全兼容,LightningModule 本质上仍是 PyTorch 模块,灵活度不打折。

核心功能一览

六大核心能力,覆盖创作全流程

🧩

LightningModule

用 train/val/test_step 与 configure_optimizers 组织代码,约 30 分钟即可重构现有项目。

⚙️

Trainer 自动化

自动处理分布式、精度、回调与设备放置,保留对每个环节的覆盖能力。

🌐

大规模扩展

8 GPU、256 GPU(多节点)、8 TPU 等配置无需改动模型代码即可启用。

📊

实验管理集成

原生对接 TensorBoard / W&B / Comet / MLflow / Neptune 等 logger 与 EarlyStopping。

📦

生产导出

可将模型导出为 TorchScript(JIT)或 ONNX,直接对接生产推理流程。

零基础快速上手

4 步完成你的第一件 AI 作品,无需任何设计经验

1

安装 Lightning

用 pip install lightning(或 conda install lightning -c conda-forge)安装。

2

定义 LightningModule

把模型与训练/验证/测试步骤写进一个 LightningModule 子类。

3

用 Trainer 训练

trainer = Trainer(); trainer.fit(model, train_loader, val_loader) 即可开训。

4

扩展与导出

加 accelerator/devices 做多卡训练,或 to_torchscript/onnx 导出上线。

全平台客户端下载

支持网页端、桌面端、移动端及浏览器插件,随时随地开启创作

官方与文档

Lightning 官网
产品与生态
下载
PyTorch Lightning 文档
API 参考
下载
GitHub 仓库
源码与范例
下载

生态

Lightning Fabric
专家级控制
下载
PyPI 安装包
pip 发布页
下载
SpeedAIAD

常见问题解答

遇到问题?这里可能有你想要的答案

1

PyTorch Lightning 会限制我对 PyTorch 的控制吗?

不会。LightningModule 本质仍是 nn.Module,你随时可覆盖训练循环与优化器;Trainer 只是自动化工程部分,且每个环节都允许关闭或自定义。

2

项目已更名为 Lightning,为什么包名是 lightning?

PyTorch Lightning 现作为 Lightning 项目的一部分,安装使用 pip install lightning,PyTorch Lightning 是其核心训练包,对外仍沿用 PyTorch Lightning 之名。

与主流 PyTorch 训练方式对比

和同类工具横向对比,帮你选对工具。

对比维度PyTorch LightningPyTorch 原生Hugging Face Accelerate
代码组织LightningModule + Trainer手写训练循环在循环中加 accelerator 封装
分布式门槛配置即开,免改代码需自行处理 sampler/通信需显式封装数据并行
最佳实践内置于 Trainer自行实现部分内置于 Accelerator
灵活度完全保留 PyTorch 灵活完全自由接近原生 PyTorch