code: def unwrap_model(model, sub_module_name=".base_layer"):
      sub_module_name_list = [
          k.split(sub_module_name)[0]
          for k in model.state_dict().keys()
          if sub_module_name in k
      ]
      sub_module_name_set = set(sub_module_name_list)
      for name in sub_module_name_set:
          # get the parent of the submodule
          name_parent = ".".join(name.split(".")[:-1])
          name_child = name.split(".")[-1]
          sub_module = model.get_submodule(name_parent)
          print(sub_module)
  
          # replace with shell
          child = getattr(sub_module, name_child)
          weight = getattr(child.base_layer, "weight", None)
          bias = getattr(child.base_layer, "bias", None)
          shell = Shell(weight, bias)
  
          setattr(sub_module, name_child, shell)
  
      print("You have unwrapped the model. Use it on your own risk.")
  
file_path: peft/examples/loftq_finetuning/quantize_save_load.py
imports: import argparse
  import os
  import torch
  import torch.nn
  from transformers import AutoModelForCausalLM, AutoModelForSeq2SeqLM, AutoModelForSequenceClassification, AutoTokenizer
  from peft import LoftQConfig, LoraConfig, TaskType, get_peft_model
label_desc: Use image node_id 1 for calling a global function with example usage: unwrap_model(model, sub_module_name) without return types