PyTorch Lightning错误TypeError: lr_scheduler_step() takes 3 positional arguments but 4 were given

问题:

        使用PyTorch Lightning时对lr_scheduler_step定义如下:

def lr_scheduler_step(self, scheduler, metric):
    scheduler.step()

        出错:

TypeError: lr_scheduler_step() takes 3 positional arguments but 4 were given

解决:

        出错原因是参数差异导致的,函数定义接收3个参数,但是实际调用的时候传参并不是3个,而是4个,可以在定义函数的时候使用参数列表,避免参数数量差异出错。

def lr_scheduler_step(self, scheduler, *args, **kwargs):
    scheduler.step()

参考:

Error in `lr_scheduler_step()` function - LightningModule - Lightning AI

你可能感兴趣的:(Python,AI/ML/DL,pytorch,人工智能,python)