code: def scale_back_batch(self, bboxes_in, scores_in):
          
          if bboxes_in.device == torch.device("cpu"):
              self.dboxes = self.dboxes.cpu()
              self.dboxes_xywh = self.dboxes_xywh.cpu()
          else:
              self.dboxes = self.dboxes.cuda()
              self.dboxes_xywh = self.dboxes_xywh.cuda()
  
          bboxes_in = bboxes_in.permute(0, 2, 1)
          scores_in = scores_in.permute(0, 2, 1)
          # print(bboxes_in.device, scores_in.device, self.dboxes_xywh.device)
  
          bboxes_in[:, :, :2] = self.scale_xy * bboxes_in[:, :, :2]
          bboxes_in[:, :, 2:] = self.scale_wh * bboxes_in[:, :, 2:]
  
          bboxes_in[:, :, :2] = bboxes_in[:, :, :2] * self.dboxes_xywh[:, :,
                                                      2:] + self.dboxes_xywh[:, :,
                                                            :2]
          bboxes_in[:, :, 2:] = bboxes_in[:, :, 2:].exp() * self.dboxes_xywh[:, :,
                                                            2:]
  
          # Transform format to ltrb
          l, t, r, b = bboxes_in[:, :, 0] - 0.5 * bboxes_in[:, :, 2], \
                       bboxes_in[:, :, 1] - 0.5 * bboxes_in[:, :, 3], \
                       bboxes_in[:, :, 0] + 0.5 * bboxes_in[:, :, 2], \
                       bboxes_in[:, :, 1] + 0.5 * bboxes_in[:, :, 3]
  
          bboxes_in[:, :, 0] = l
          bboxes_in[:, :, 1] = t
          bboxes_in[:, :, 2] = r
          bboxes_in[:, :, 3] = b
  
          return bboxes_in, F.softmax(scores_in, dim=-1)
docs: Do scale and transform from xywh to ltrb
              suppose input Nx4xnum_bbox Nxlabel_numxnum_bbox