yangze0930 / NTS-Net

This is a PyTorch implementation of the ECCV2018 paper "Learning to Navigate for Fine-grained Classification" (Ze Yang, Tiange Luo, Dong Wang, Zhiqiang Hu, Jun Gao, Liwei Wang).
MIT License
450 stars 118 forks source link

need 4 optimizer ? #12

Open shiyongde opened 5 years ago

shiyongde commented 5 years ago

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?

he010103 commented 5 years ago

Maybe the author want to train different parameters with different setting at the begining.