我在尝试用GPU进行NERF时遇到了这个错误,这个错误发生在train.fit()中,其中训练器如下:
from pytorch_lightning import LightningModule, Trainer
trainer = Trainer(max_epochs=hparams.num_epochs,
callbacks=callbacks,
resume_from_checkpoint=hparams.ckpt_path,
logger=logger,
enable_model_summary=False,
accelerator='auto',
devices=hparams.num_gpus,
# gpus=-1,
num_sanity_val_steps=1,
benchmark=True,
profiler="simple" if hparams.num_gpus==1 else None,
strategy=DDPPlugin(find_unused_parameters=False) if hparams.num_gpus>1 else None)
trainer.fit(system)
我不知道该怎么办,我真诚地需要你的帮助,非常感谢!
看来MultiStepLR在LightningModule中无效。我遇到了同样的错误,并通过用ReduceLROnPlateau替换MultiStepLR来修复它。
optim_conf = model.configure_optimizers()
monitor = "val_loss"
a,b = optim_conf
scheduler0 = ReduceLROnPlateau(a[0])
b[0]=scheduler0
其中a是Adam优化器的列表,b也是一个列表,b[0]是MultiStepLR。 希望这能有所帮助。