code: def rgetattr(obj, attr, default=None):
      """
      Recursive getattr function based on igetattr
  
      Examples:
          >>> model = Model()
          >>> rgetattr(model, "layer[2].attention.weight[3].data")
      """
  
      try:
          left, right = attr.split(".", 1)
      except BaseException:
          return igetattr(obj, attr, default)
      return rgetattr(igetattr(obj, left), right, default)
  
label_desc: Use image node_id 3 for calling a global function with example usage: rgetattr(obj, attr, default) and returns: rgetattr, igetattr