class_docstr: PCB (Part-based Convolutional Baseline), see https://arxiv.org/abs/1711.09349,
  Pyramidal Person Re-IDentification, see https://arxiv.org/abs/1810.12193
  
  Args:
      input_ch (int): Number of channels of the input feature.
      num_stripes (int): Number of sub-parts.
      used_levels (tuple): Whether the level is used, 1 means used.
      num_classes (int): Number of classes for identities, default 751 in
          Market-1501 dataset.
      last_conv_stride (int): Stride of the last conv.
      last_conv_dilation (int): Dilation of the last conv.
      num_conv_out_channels (int): Number of channels of conv feature.
code: def pyramid_forward(self, feat):
      each_stripe_size = int(feat.shape[2] / self.num_stripes)
  
      feat_list, logits_list = [], []
      idx_levels = 0
      used_branches = 0
      for idx_branches in range(self.num_branches):
          if idx_branches >= sum(
              self.num_in_each_level[0 : idx_levels + 1]
          ):
              idx_levels += 1
          idx_in_each_level = idx_branches - sum(
              self.num_in_each_level[0:idx_levels]
          )
          stripe_size_in_each_level = each_stripe_size * (
              idx_levels + 1
          )
          start = idx_in_each_level * each_stripe_size
          end = start + stripe_size_in_each_level
  
          k = feat.shape[-1]
          local_feat_avgpool = F.avg_pool2d(
              feat[:, :, start:end, :],
              kernel_size=(stripe_size_in_each_level, k),
          )
          local_feat_maxpool = F.max_pool2d(
              feat[:, :, start:end, :],
              kernel_size=(stripe_size_in_each_level, k),
          )
          local_feat = local_feat_avgpool + local_feat_maxpool
  
          local_feat = self.pyramid_conv_list0[used_branches](
              local_feat
          )
          local_feat = paddle.reshape(
              local_feat, shape=[local_feat.shape[0], -1]
          )
          feat_list.append(local_feat)
  
          local_logits = self.pyramid_fc_list0[used_branches](
              self.dropout_layer(local_feat)
          )
          logits_list.append(local_logits)
  
          used_branches += 1
  
      return feat_list, logits_list
  
file_path: PaddleDetection/ppdet/modeling/reid/pyramidal_embedding.py
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import paddle
  import paddle.nn
  import paddle.nn.functional
  from paddle.nn.initializer import Normal, Constant
  from paddle import ParamAttr
  from .resnet import ResNet50, ResNet101
  from ppdet.core.workspace import register
label_desc: Use image node_id 3 for calling the PCBPyramid obj's underlying member method code with example usage: obj.pyramid_forward(feat) and returns: feat_list,  logits_list