class_docstr: The HarDBlock implementation
  
  Args:
      base_channels (int): The base channels.
      growth_rate (tuple|list): The growth rate.
      grmul (float): The channel multiplying factor.
      n_layers (tuple|list): The number of layers.
      keepBase (bool, optional): A bool value indicates whether concatenating the first layer. Default: False.
class_docstr_tok: ["The","HarDBlock","implementation","Args",":","base_channels","(","int",")",":","The","base","channels",".","growth_rate","(","tuple|list",")",":","The","growth","rate",".","grmul","(","float",")",":","The","channel","multiplying","factor",".","n_layers","(","tuple|list",")",":","The","number","of","layers",".","keepBase","(","bool",",","optional",")",":","A","bool","value","indicates","whether","concatenating","the","first","layer",".","Default",":","False","."]
code: def forward(self, x):
      layers_ = [x]
      for layer in range(len(self.layers)):
          link = self.links[layer]
          tin = []
          for i in link:
              tin.append(layers_[i])
          if len(tin) > 1:
              x = paddle.concat(tin, axis=1)
          else:
              x = tin[0]
          out = self.layers[layer](x)
          layers_.append(out)
  
      t = len(layers_)
      out_ = []
      for i in range(t):
          if (i == 0 and self.keepBase) or (i == t - 1) or (i % 2 == 1):
              out_.append(layers_[i])
      out = paddle.concat(out_, 1)
  
      return out
  
imports: import paddle
  import paddle.nn
  import paddle.nn.functional
  from paddleseg.cvlibs import manager
  from paddleseg.models import layers
  from paddleseg.utils import utils
label_desc: Use image node_id 2 for calling the HarDBlock obj's underlying member method code with example usage: obj.forward(x) and returns: out