diff --git a/mmdet/models/anchor_heads/guided_anchor_head.py b/mmdet/models/anchor_heads/guided_anchor_head.py
index 0053cf59146e569ac17395f54393efe4b39fd099..9660f17708b83e0a18fb1e6e69585e636ae23391 100644
--- a/mmdet/models/anchor_heads/guided_anchor_head.py
+++ b/mmdet/models/anchor_heads/guided_anchor_head.py
@@ -36,15 +36,14 @@ class FeatureAdaption(nn.Module):
                  deformable_groups=4):
         super(FeatureAdaption, self).__init__()
         offset_channels = kernel_size * kernel_size * 2
-        self.conv_offset = nn.Conv2d(2,
-                                     deformable_groups * offset_channels,
-                                     1,
-                                     bias=False)
-        self.conv_adaption = DeformConv(in_channels,
-                                        out_channels,
-                                        kernel_size=kernel_size,
-                                        padding=(kernel_size - 1) // 2,
-                                        deformable_groups=deformable_groups)
+        self.conv_offset = nn.Conv2d(
+            2, deformable_groups * offset_channels, 1, bias=False)
+        self.conv_adaption = DeformConv(
+            in_channels,
+            out_channels,
+            kernel_size=kernel_size,
+            padding=(kernel_size - 1) // 2,
+            deformable_groups=deformable_groups)
         self.relu = nn.ReLU(inplace=True)
 
     def init_weights(self):
@@ -109,20 +108,23 @@ class GuidedAnchorHead(AnchorHead):
                  target_stds=(1.0, 1.0, 1.0, 1.0),
                  deformable_groups=4,
                  loc_filter_thr=0.01,
-                 loss_loc=dict(type='FocalLoss',
-                               use_sigmoid=True,
-                               gamma=2.0,
-                               alpha=0.25,
-                               loss_weight=1.0),
-                 loss_shape=dict(type='IoULoss',
-                                 style='bounded',
-                                 beta=0.2,
-                                 loss_weight=1.0),
-                 loss_cls=dict(type='CrossEntropyLoss',
-                               use_sigmoid=True,
-                               loss_weight=1.0),
-                 loss_bbox=dict(type='SmoothL1Loss', beta=1.0,
-                                loss_weight=1.0)):
+                 loss_loc=dict(
+                     type='FocalLoss',
+                     use_sigmoid=True,
+                     gamma=2.0,
+                     alpha=0.25,
+                     loss_weight=1.0),
+                 loss_shape=dict(
+                     type='IoULoss',
+                     style='bounded',
+                     beta=0.2,
+                     loss_weight=1.0),
+                 loss_cls=dict(
+                     type='CrossEntropyLoss',
+                     use_sigmoid=True,
+                     loss_weight=1.0),
+                 loss_bbox=dict(
+                     type='SmoothL1Loss', beta=1.0, loss_weight=1.0)):
         super(AnchorHead, self).__init__()
         self.in_channels = in_channels
         self.num_classes = num_classes
@@ -258,8 +260,8 @@ class GuidedAnchorHead(AnchorHead):
                     inside_flags_list.append(inside_flags)
                 # inside_flag for a position is true if any anchor in this
                 # position is true
-                inside_flags = (torch.stack(inside_flags_list, 0).sum(dim=0) >
-                                0)
+                inside_flags = (
+                    torch.stack(inside_flags_list, 0).sum(dim=0) > 0)
                 multi_level_flags.append(inside_flags)
             inside_flag_list.append(multi_level_flags)
         return approxs_list, inside_flag_list
@@ -347,11 +349,12 @@ class GuidedAnchorHead(AnchorHead):
             -1, 2).detach()[mask]
         bbox_deltas = anchor_deltas.new_full(squares.size(), 0)
         bbox_deltas[:, 2:] = anchor_deltas
-        guided_anchors = delta2bbox(squares,
-                                    bbox_deltas,
-                                    self.anchoring_means,
-                                    self.anchoring_stds,
-                                    wh_ratio_clip=1e-6)
+        guided_anchors = delta2bbox(
+            squares,
+            bbox_deltas,
+            self.anchoring_means,
+            self.anchoring_stds,
+            wh_ratio_clip=1e-6)
         return guided_anchors, mask
 
     def loss_shape_single(self, shape_pred, bbox_anchors, bbox_gts,
@@ -368,23 +371,26 @@ class GuidedAnchorHead(AnchorHead):
         bbox_anchors_ = bbox_anchors[inds]
         bbox_gts_ = bbox_gts[inds]
         anchor_weights_ = anchor_weights[inds]
-        pred_anchors_ = delta2bbox(bbox_anchors_,
-                                   bbox_deltas_,
-                                   self.anchoring_means,
-                                   self.anchoring_stds,
-                                   wh_ratio_clip=1e-6)
-        loss_shape = self.loss_shape(pred_anchors_,
-                                     bbox_gts_,
-                                     anchor_weights_,
-                                     avg_factor=anchor_total_num)
+        pred_anchors_ = delta2bbox(
+            bbox_anchors_,
+            bbox_deltas_,
+            self.anchoring_means,
+            self.anchoring_stds,
+            wh_ratio_clip=1e-6)
+        loss_shape = self.loss_shape(
+            pred_anchors_,
+            bbox_gts_,
+            anchor_weights_,
+            avg_factor=anchor_total_num)
         return loss_shape
 
     def loss_loc_single(self, loc_pred, loc_target, loc_weight, loc_avg_factor,
                         cfg):
-        loss_loc = self.loss_loc(loc_pred.reshape(-1, 1),
-                                 loc_target.reshape(-1, 1).long(),
-                                 loc_weight.reshape(-1, 1),
-                                 avg_factor=loc_avg_factor)
+        loss_loc = self.loss_loc(
+            loc_pred.reshape(-1, 1),
+            loc_target.reshape(-1, 1).long(),
+            loc_weight.reshape(-1, 1),
+            avg_factor=loc_avg_factor)
         return loss_loc
 
     def loss(self,
@@ -418,41 +424,44 @@ class GuidedAnchorHead(AnchorHead):
 
         # get shape targets
         sampling = False if not hasattr(cfg, 'ga_sampler') else True
-        shape_targets = ga_shape_target(approxs_list,
-                                        inside_flag_list,
-                                        squares_list,
-                                        gt_bboxes,
-                                        img_metas,
-                                        self.approxs_per_octave,
-                                        cfg,
-                                        sampling=sampling)
+        shape_targets = ga_shape_target(
+            approxs_list,
+            inside_flag_list,
+            squares_list,
+            gt_bboxes,
+            img_metas,
+            self.approxs_per_octave,
+            cfg,
+            sampling=sampling)
         if shape_targets is None:
             return None
         (bbox_anchors_list, bbox_gts_list, anchor_weights_list, anchor_fg_num,
          anchor_bg_num) = shape_targets
-        anchor_total_num = (anchor_fg_num if not sampling else anchor_fg_num +
-                            anchor_bg_num)
+        anchor_total_num = (
+            anchor_fg_num if not sampling else anchor_fg_num + anchor_bg_num)
 
         # get anchor targets
         sampling = False if self.cls_focal_loss else True
         label_channels = self.cls_out_channels if self.use_sigmoid_cls else 1
-        cls_reg_targets = anchor_target(guided_anchors_list,
-                                        inside_flag_list,
-                                        gt_bboxes,
-                                        img_metas,
-                                        self.target_means,
-                                        self.target_stds,
-                                        cfg,
-                                        gt_bboxes_ignore_list=gt_bboxes_ignore,
-                                        gt_labels_list=gt_labels,
-                                        label_channels=label_channels,
-                                        sampling=sampling)
+        cls_reg_targets = anchor_target(
+            guided_anchors_list,
+            inside_flag_list,
+            gt_bboxes,
+            img_metas,
+            self.target_means,
+            self.target_stds,
+            cfg,
+            gt_bboxes_ignore_list=gt_bboxes_ignore,
+            gt_labels_list=gt_labels,
+            label_channels=label_channels,
+            sampling=sampling)
         if cls_reg_targets is None:
             return None
         (labels_list, label_weights_list, bbox_targets_list, bbox_weights_list,
          num_total_pos, num_total_neg) = cls_reg_targets
-        num_total_samples = (num_total_pos if self.cls_focal_loss else
-                             num_total_pos + num_total_neg)
+        num_total_samples = (
+            num_total_pos if self.cls_focal_loss else num_total_pos +
+            num_total_neg)
 
         # get classification and bbox regression losses
         losses_cls, losses_bbox = multi_apply(
@@ -467,24 +476,32 @@ class GuidedAnchorHead(AnchorHead):
             cfg=cfg)
 
         # get anchor location loss
-        losses_loc, = multi_apply(self.loss_loc_single,
-                                  loc_preds,
-                                  loc_targets,
-                                  loc_weights,
-                                  loc_avg_factor=loc_avg_factor,
-                                  cfg=cfg)
+        losses_loc = []
+        for i in range(len(loc_preds)):
+            loss_loc = self.loss_loc_single(
+                loc_preds[i],
+                loc_targets[i],
+                loc_weights[i],
+                loc_avg_factor=loc_avg_factor,
+                cfg=cfg)
+            losses_loc.append(loss_loc)
 
         # get anchor shape loss
-        losses_shape, = multi_apply(self.loss_shape_single,
-                                    shape_preds,
-                                    bbox_anchors_list,
-                                    bbox_gts_list,
-                                    anchor_weights_list,
-                                    anchor_total_num=anchor_total_num)
-        return dict(loss_cls=losses_cls,
-                    loss_bbox=losses_bbox,
-                    loss_shape=losses_shape,
-                    loss_loc=losses_loc)
+        losses_shape = []
+        for i in range(len(shape_preds)):
+            loss_shape = self.loss_shape_single(
+                shape_preds[i],
+                bbox_anchors_list[i],
+                bbox_gts_list[i],
+                anchor_weights_list[i],
+                anchor_total_num=anchor_total_num)
+            losses_shape.append(loss_shape)
+
+        return dict(
+            loss_cls=losses_cls,
+            loss_bbox=losses_bbox,
+            loss_shape=losses_shape,
+            loss_loc=losses_loc)
 
     def get_bboxes(self,
                    cls_scores,