Skip to content

Commit fbf981d

Browse files
authored
Revert "fix solov2 infer (PaddlePaddle#4972)" (PaddlePaddle#5074)
This reverts commit 3e0e358.
1 parent b3a7649 commit fbf981d

File tree

3 files changed

+8
-25
lines changed

3 files changed

+8
-25
lines changed

ppdet/engine/trainer.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@
3434
from ppdet.optimizer import ModelEMA
3535

3636
from ppdet.core.workspace import create
37-
from ppdet.modeling.architectures.meta_arch import BaseArch
3837
from ppdet.utils.checkpoint import load_weight, load_pretrain_weight
3938
from ppdet.utils.visualizer import visualize_results, save_result
4039
from ppdet.metrics import Metric, COCOMetric, VOCMetric, WiderFaceMetric, get_infer_results, KeyPointTopDownCOCOEval, KeyPointTopDownMPIIEval
@@ -346,10 +345,11 @@ def train(self, validate=False):
346345
assert self.mode == 'train', "Model not in 'train' mode"
347346
Init_mark = False
348347

349-
sync_bn = (getattr(self.cfg, 'norm_type', None) in [None, 'sync_bn'] and
348+
sync_bn = (getattr(self.cfg, 'norm_type', None) == 'sync_bn' and
350349
self.cfg.use_gpu and self._nranks > 1)
351350
if sync_bn:
352-
self.model = BaseArch.convert_sync_batchnorm(self.model)
351+
self.model = paddle.nn.SyncBatchNorm.convert_sync_batchnorm(
352+
self.model)
353353

354354
model = self.model
355355
if self.cfg.get('fleet', False):

ppdet/modeling/architectures/meta_arch.py

+4-21
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ def forward(self, inputs):
7070
outs.append(self.get_pred())
7171

7272
# multi-scale test
73-
if len(outs) > 1:
73+
if len(outs)>1:
7474
out = self.merge_multi_scale_predictions(outs)
7575
else:
7676
out = outs[0]
@@ -87,9 +87,7 @@ def merge_multi_scale_predictions(self, outs):
8787
keep_top_k = self.bbox_post_process.nms.keep_top_k
8888
nms_threshold = self.bbox_post_process.nms.nms_threshold
8989
else:
90-
raise Exception(
91-
"Multi scale test only supports CascadeRCNN, FasterRCNN and MaskRCNN for now"
92-
)
90+
raise Exception("Multi scale test only supports CascadeRCNN, FasterRCNN and MaskRCNN for now")
9391

9492
final_boxes = []
9593
all_scale_outs = paddle.concat([o['bbox'] for o in outs]).numpy()
@@ -98,11 +96,9 @@ def merge_multi_scale_predictions(self, outs):
9896
if np.count_nonzero(idxs) == 0:
9997
continue
10098
r = nms(all_scale_outs[idxs, 1:], nms_threshold)
101-
final_boxes.append(
102-
np.concatenate([np.full((r.shape[0], 1), c), r], 1))
99+
final_boxes.append(np.concatenate([np.full((r.shape[0], 1), c), r], 1))
103100
out = np.concatenate(final_boxes)
104-
out = np.concatenate(sorted(
105-
out, key=lambda e: e[1])[-keep_top_k:]).reshape((-1, 6))
101+
out = np.concatenate(sorted(out, key=lambda e: e[1])[-keep_top_k:]).reshape((-1, 6))
106102
out = {
107103
'bbox': paddle.to_tensor(out),
108104
'bbox_num': paddle.to_tensor(np.array([out.shape[0], ]))
@@ -124,16 +120,3 @@ def get_loss(self, ):
124120

125121
def get_pred(self, ):
126122
raise NotImplementedError("Should implement get_pred method!")
127-
128-
@classmethod
129-
def convert_sync_batchnorm(cls, layer):
130-
layer_output = layer
131-
if getattr(layer, 'norm_type', None) == 'sync_bn':
132-
layer_output = nn.SyncBatchNorm.convert_sync_batchnorm(layer)
133-
else:
134-
for name, sublayer in layer.named_children():
135-
layer_output.add_sublayer(name,
136-
cls.convert_sync_batchnorm(sublayer))
137-
138-
del layer
139-
return layer_output

ppdet/modeling/backbones/esnet.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
import paddle.nn as nn
2121
import paddle.nn.functional as F
2222
from paddle import ParamAttr
23-
from paddle.nn import Conv2D, MaxPool2D, AdaptiveAvgPool2D
23+
from paddle.nn import Conv2D, MaxPool2D, AdaptiveAvgPool2D, BatchNorm
2424
from paddle.nn.initializer import KaimingNormal
2525
from paddle.regularizer import L2Decay
2626

0 commit comments

Comments
 (0)