-
Notifications
You must be signed in to change notification settings - Fork 143
Open
Labels
🐛 bugSomething isn't workingSomething isn't working
Description
🐛 Bug description
使用 SwanLabLogger
集成 PyTorch Lightning 进行训练时,如果用户通过 Ctrl+C
中断训练进程,SwanLab 实验不会被自动关闭。这会导致:
- 实验在 Web UI 中持续显示为“运行中”状态。
- 缓冲区中的日志和指标数据可能丢失,无法上传到云端。
- 资源未被正确释放。
我并不熟悉该领域,但我查看源码感觉或许该问题的根本原因在于 SwanLabLogger
的 finalize
方法实现不完整,且 SwanLab SDK 缺少像 atexit
或信号处理器这样的兜底机制来处理非正常退出。
🧑💻 Step to reproduce
- 参考官方文档,使用
SwanLabLogger
初始化一个 PyTorch LightningTrainer
。from swanlab.integration.pytorch_lightning import SwanLabLogger import pytorch_lightning as pl logger = SwanLabLogger(project="test-interrupt") trainer = pl.Trainer(max_epochs=10, logger=logger) # 设置一个较长的epoch以便中断
- 启动训练:
trainer.fit(model, datamodule)
。 - 在训练过程中,按下
Ctrl+C
中断程序。 - 登录 SwanLab Web 控制台,查看名为
test-interrupt
的项目。
👾 Expected result
- 即使训练被
Ctrl+C
中断,实验也应在 Web UI 中被标记为“已中断”或“失败”,而不是“运行中”。 - 所有在中断前已记录的日志和指标应被完整上传。
- 系统资源应被正确释放。
Metadata
Metadata
Assignees
Labels
🐛 bugSomething isn't workingSomething isn't working