code: def save_gguf(self, gguf_writer):
      self.att_norm_a.save_gguf(
          gguf_writer,
          name=tensor_name(
              gguf.MODEL_TENSOR.ATTN_NORM, self.bid, ".weight.lora_a"
          ),
      )
      self.att_norm_b.save_gguf(
          gguf_writer,
          name=tensor_name(
              gguf.MODEL_TENSOR.ATTN_NORM, self.bid, ".weight.lora_b"
          ),
      )
      self.wq_a.save_gguf(
          gguf_writer,
          name=tensor_name(
              gguf.MODEL_TENSOR.ATTN_Q, self.bid, ".weight.lora_a"
          ),
      )
      self.wq_b.save_gguf(
          gguf_writer,
          name=tensor_name(
              gguf.MODEL_TENSOR.ATTN_Q, self.bid, ".weight.lora_b"
          ),
      )
      self.wk_a.save_gguf(
          gguf_writer,
          name=tensor_name(
              gguf.MODEL_TENSOR.ATTN_K, self.bid, ".weight.lora_a"
          ),
      )
      self.wk_b.save_gguf(
          gguf_writer,
          name=tensor_name(
              gguf.MODEL_TENSOR.ATTN_K, self.bid, ".weight.lora_b"
          ),
      )
      self.wv_a.save_gguf(
          gguf_writer,
          name=tensor_name(
              gguf.MODEL_TENSOR.ATTN_V, self.bid, ".weight.lora_a"
          ),
      )
      self.wv_b.save_gguf(
          gguf_writer,
          name=tensor_name(
              gguf.MODEL_TENSOR.ATTN_V, self.bid, ".weight.lora_b"
          ),
      )
      self.wo_a.save_gguf(
          gguf_writer,
          name=tensor_name(
              gguf.MODEL_TENSOR.ATTN_OUT, self.bid, ".weight.lora_a"
          ),
      )
      self.wo_b.save_gguf(
          gguf_writer,
          name=tensor_name(
              gguf.MODEL_TENSOR.ATTN_OUT, self.bid, ".weight.lora_b"
          ),
      )
      self.ffn_norm_a.save_gguf(
          gguf_writer,
          name=tensor_name(
              gguf.MODEL_TENSOR.FFN_NORM, self.bid, ".weight.lora_a"
          ),
      )
      self.ffn_norm_b.save_gguf(
          gguf_writer,
          name=tensor_name(
              gguf.MODEL_TENSOR.FFN_NORM, self.bid, ".weight.lora_b"
          ),
      )
      self.w1_a.save_gguf(
          gguf_writer,
          name=tensor_name(
              gguf.MODEL_TENSOR.FFN_GATE, self.bid, ".weight.lora_a"
          ),
      )
      self.w1_b.save_gguf(
          gguf_writer,
          name=tensor_name(
              gguf.MODEL_TENSOR.FFN_GATE, self.bid, ".weight.lora_b"
          ),
      )
      self.w2_a.save_gguf(
          gguf_writer,
          name=tensor_name(
              gguf.MODEL_TENSOR.FFN_DOWN, self.bid, ".weight.lora_a"
          ),
      )
      self.w2_b.save_gguf(
          gguf_writer,
          name=tensor_name(
              gguf.MODEL_TENSOR.FFN_DOWN, self.bid, ".weight.lora_b"
          ),
      )
      self.w3_a.save_gguf(
          gguf_writer,
          name=tensor_name(
              gguf.MODEL_TENSOR.FFN_UP, self.bid, ".weight.lora_a"
          ),
      )
      self.w3_b.save_gguf(
          gguf_writer,
          name=tensor_name(
              gguf.MODEL_TENSOR.FFN_UP, self.bid, ".weight.lora_b"
          ),
      )
  
imports: import argparse
  import gguf
  import struct
  import numpy
  from pathlib import Path
label_desc: Use image node_id 3 for calling the Layer obj's underlying member method code with example usage: obj.save_gguf(gguf_writer) without return types