code: def __init__(
      self,
      features,
      residual_conv_unit,
      multi_resolution_fusion,
      chained_residual_pool,
      *shapes,
  ):
      super().__init__()
  
      for i, shape in enumerate(shapes):
          feats = shape[0]
          self.add_module(
              "rcu{}".format(i),
              nn.Sequential(
                  residual_conv_unit(feats), residual_conv_unit(feats)
              ),
          )
  
      if len(shapes) != 1:
          self.mrf = multi_resolution_fusion(features, *shapes)
      else:
          self.mrf = None
  
      self.crp = chained_residual_pool(features)
      self.output_conv = residual_conv_unit(features)
  
imports: import torch.nn
label_desc: Use image node_id 1 to create a new BaseRefineNetBlock object from inherited base classes: nn with example: obj = BaseRefineNetBlock(features, residual_conv_unit, multi_resolution_fusion, chained_residual_pool)