code: def __init__(
      self,
      num_blocks,
      in_channels,
      out_channels,
      has_se=False,
      name=None,
      padding_same=True,
  ):
      super(Branches, self).__init__()
  
      self.basic_block_list = []
  
      for i in range(len(out_channels)):
          self.basic_block_list.append([])
          for j in range(num_blocks[i]):
              in_ch = in_channels[i] if j == 0 else out_channels[i]
              basic_block_func = self.add_sublayer(
                  "bb_{}_branch_layer_{}_{}".format(name, i + 1, j + 1),
                  BasicBlock(
                      num_channels=in_ch,
                      num_filters=out_channels[i],
                      has_se=has_se,
                      name=name
                      + "_branch_layer_"
                      + str(i + 1)
                      + "_"
                      + str(j + 1),
                      padding_same=padding_same,
                  ),
              )
              self.basic_block_list[i].append(basic_block_func)
  
imports: import math
  import paddle
  import paddle.nn
  import paddle.nn.functional
  from paddleseg.cvlibs import manager, param_init
  from paddleseg.models import layers
  import ppmatting
label_desc: Use image node_id 1 to create a new Branches object from inherited base classes: nn with example: obj = Branches(num_blocks, in_channels, out_channels, has_se, name, padding_same)