code: def __init__(self, in_channels, kpt_num, kpt_vis):
      super(Predictor, self).__init__()
      channel_per_kpt = 3 if kpt_vis is True else 2
      self.kpt_predictor = DeformConvWithChangeableStride(
          in_channels,
          channel_per_kpt * kpt_num,
          kernel_size=1,
          padding=0,
          bias=True,
      )
  
imports: import math
  from typing import List, Dict
  import torch
  from torch import nn
  from torch.nn import functional
  from torch.autograd import Variable
  import numpy
  from ...utils.comm import compute_locations
  from ...nn.shape_spec import ShapeSpec
  from ...nn.batch_norm import NaiveSyncBatchNorm
  from ...nn.deform_conv import DeformConvWithChangeableStride
  from ...nn.group_norm import NaiveGroupNorm
  from .directpose_outputs import DirectPoseOutputs
label_desc: Use image node_id 1 to create a new Predictor object from inherited base classes: nn with example: obj = Predictor(in_channels, kpt_num, kpt_vis)