You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用GPU运行NERF时遇ValueError:LR调度器无效求助

解决PyTorch Lightning中LR调度器无效的问题

问题根源

这个错误出在你的LightningModule(即代码里的system)的configure_optimizers方法上——直接返回MultiStepLR对象不符合PyTorch Lightning的要求,必须按指定格式返回优化器和调度器。

正确配置方式

修改system类中的configure_optimizers方法,采用以下两种合法写法之一:

写法1:返回字典(推荐,支持更多调度器参数)

def configure_optimizers(self):
    optimizer = torch.optim.Adam(self.parameters(), lr=self.hparams.lr)
    scheduler = torch.optim.lr_scheduler.MultiStepLR(
        optimizer, milestones=[100, 200], gamma=0.1  # 根据你的需求调整参数
    )
    return {
        "optimizer": optimizer,
        "lr_scheduler": {
            "scheduler": scheduler,
            "interval": "epoch",  # 可选:按epoch或step更新调度器
            "frequency": 1
        }
    }

写法2:返回(优化器列表, 调度器列表)

def configure_optimizers(self):
    optimizer = torch.optim.Adam(self.parameters(), lr=self.hparams.lr)
    scheduler = torch.optim.lr_scheduler.MultiStepLR(
        optimizer, milestones=[100, 200], gamma=0.1
    )
    return [optimizer], [scheduler]

额外注意事项

  • 从checkpoint恢复训练时,确保调度器状态能被正确加载,PyTorch Lightning默认会处理,但前提是配置格式合法。
  • 使用DDP策略时,保证优化器和调度器在每个进程上正确初始化,避免重复创建问题。

内容的提问来源于stack exchange,提问作者王大乐

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 10:16:07