|
40 | 40 | help='train from scratch')
|
41 | 41 | parser.add_argument('--freeze_bn', action='store_true', default=False,
|
42 | 42 | help='freeze batch normalization parameters')
|
43 |
| -parser.add_argument('--sync_bn', action='store_true', default=False, |
44 |
| - help='sync batch normalization across gpu') |
45 | 43 | parser.add_argument('--beta', action='store_true', default=False,
|
46 | 44 | help='resnet101 beta')
|
47 | 45 | parser.add_argument('--crop_size', type=int, default=513,
|
@@ -70,39 +68,27 @@ def main():
|
70 | 68 | pretrained=(not args.scratch),
|
71 | 69 | num_classes=len(dataset.CLASSES),
|
72 | 70 | num_groups=args.groups,
|
73 |
| - sync_bn=args.sync_bn, |
74 | 71 | beta=args.beta)
|
75 | 72 | else:
|
76 | 73 | raise ValueError('Unknown backbone: {}'.format(args.backbone))
|
77 | 74 |
|
78 | 75 | if args.train:
|
79 | 76 | criterion = nn.CrossEntropyLoss(ignore_index=255)
|
80 |
| - if args.sync_bn: |
81 |
| - from encoding.parallel import DataParallelModel, DataParallelCriterion |
82 |
| - criterion = DataParallelCriterion(criterion).cuda() |
83 |
| - model = DataParallelModel(model).cuda() |
84 |
| - else: |
85 |
| - model = nn.DataParallel(model).cuda() |
| 77 | + model = nn.DataParallel(model).cuda() |
86 | 78 | model.train()
|
87 | 79 | if args.freeze_bn:
|
88 | 80 | for m in model.modules():
|
89 | 81 | if isinstance(m, nn.BatchNorm2d):
|
90 | 82 | m.eval()
|
91 | 83 | m.weight.requires_grad = False
|
92 | 84 | m.bias.requires_grad = False
|
93 |
| - if args.backbone == 'resnet101': |
94 |
| - backbone_params = ( |
95 |
| - list(model.module.conv1.parameters()) + |
96 |
| - list(model.module.bn1.parameters()) + |
97 |
| - list(model.module.layer1.parameters()) + |
98 |
| - list(model.module.layer2.parameters()) + |
99 |
| - list(model.module.layer3.parameters()) + |
100 |
| - list(model.module.layer4.parameters())) |
101 |
| - else: |
102 |
| - backbone_params = ( |
103 |
| - list(model.module.stem0.parameters()) + |
104 |
| - list(model.module.stem1.parameters()) + |
105 |
| - list(model.module.cells.parameters())) |
| 85 | + backbone_params = ( |
| 86 | + list(model.module.conv1.parameters()) + |
| 87 | + list(model.module.bn1.parameters()) + |
| 88 | + list(model.module.layer1.parameters()) + |
| 89 | + list(model.module.layer2.parameters()) + |
| 90 | + list(model.module.layer3.parameters()) + |
| 91 | + list(model.module.layer4.parameters())) |
106 | 92 | last_params = list(model.module.aspp.parameters())
|
107 | 93 | optimizer = optim.SGD([
|
108 | 94 | {'params': filter(lambda p: p.requires_grad, backbone_params)},
|
|
0 commit comments