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 basic_branch(self, num_conv_out_channels, input_ch):
      # the level indexes are defined from fine to coarse,
      # the branch will contain one more part than that of its previous level
      # the sliding step is set to 1
      pyramid_conv_list = nn.LayerList()
      pyramid_fc_list = nn.LayerList()
  
      idx_levels = 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
  
          pyramid_conv_list.append(
              nn.Sequential(
                  nn.Conv2D(input_ch, num_conv_out_channels, 1),
                  nn.BatchNorm2D(num_conv_out_channels),
                  nn.ReLU(),
              )
          )
  
      idx_levels = 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
  
          fc = nn.Linear(
              in_features=num_conv_out_channels,
              out_features=self.num_classes,
              weight_attr=ParamAttr(
                  initializer=Normal(mean=0.0, std=0.001)
              ),
              bias_attr=ParamAttr(initializer=Constant(value=0.0)),
          )
          pyramid_fc_list.append(fc)
      return pyramid_conv_list, pyramid_fc_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 2 for calling the PCBPyramid obj's underlying member method code with example usage: obj.basic_branch(num_conv_out_channels, input_ch) and returns: pyramid_conv_list,  pyramid_fc_list