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