def METHOD_NAME(self, feats: List[Tensor]):
    outputs = []
    for idx, (cls_convs, reg_convs, gfl_cls, gfl_reg) in enumerate(zip(
        self.cls_convs, self.reg_convs, self.gfl_cls, self.gfl_reg
    )):
        cls_feat = feats[idx]
        reg_feat = feats[idx]
        for cls_conv in cls_convs:
            cls_feat = cls_conv(cls_feat)
        for reg_conv in reg_convs:
            reg_feat = reg_conv(reg_feat)
        if self.share_cls_reg:
            output = gfl_cls(cls_feat)
        else:
            cls_score = gfl_cls(cls_feat)
            bbox_pred = gfl_reg(reg_feat)
            output = torch.cat([cls_score, bbox_pred], dim=1)
        outputs.append(output.flatten(start_dim=2))
    outputs = torch.cat(outputs, dim=2).permute(0, 2, 1)
    return outputs