need 4 optimizer ?
There are 4 same optimizer,why?
raw_parameters = list(net.pretrained_model.parameters()) part_parameters = list(net.proposal_net.parameters()) concat_parameters = list(net.concat_net.parameters()) partcls_parameters = list(net.partcls_net.parameters())
raw_optimizer = torch.optim.SGD(raw_parameters, lr=LR, momentum=0.9, weight_decay=WD) concat_optimizer = torch.optim.SGD(concat_parameters, lr=LR, momentum=0.9, weight_decay=WD) part_optimizer = torch.optim.SGD(part_parameters, lr=LR, momentum=0.9, weight_decay=WD) partcls_optimizer = torch.optim.SGD(partcls_parameters, lr=LR, momentum=0.9, weight_decay=WD) schedulers = [MultiStepLR(raw_optimizer, milestones=[60, 100], gamma=0.1), MultiStepLR(concat_optimizer, milestones=[60, 100], gamma=0.1), MultiStepLR(part_optimizer, milestones=[60, 100], gamma=0.1), MultiStepLR(partcls_optimizer, milestones=[60, 100], gamma=0.1)]
I think jusk one optimizer can make it?
or some part of nets need different update?
Maybe the author want to train different parameters with different setting at the begining.