在使用pytorch lightning训练模型时,配置optimizers:
def init(self):
a = torch.tensor([1,2,3,4])
self.abc = torch.nn.Parameters(a)
self.nn_models = ..... # 一系列拼接好的nn.Module
def configure_optimizers(self):
optimizer = torch.optim.Adam(params:[self.abc,self.nn_models.parameters()])
会报错,如标题所示;
解决办法:
def configure_optimizers(self):
optimizer = torch.optim.Adam(params:[self.abc,*self.nn_models.parameters()])
加上一个*,就会自动把nn_models里面的所有模块的参数解开为列表了。