code: def __init__(self, params, bid):
      self.bid = bid
      self.att_norm = Tensor("f", [params.n_embd])
      self.wq = Tensor("f", [params.n_embd, params.n_embd])
      self.wk = Tensor("f", [params.n_embd, params.n_embd])
      self.wv = Tensor("f", [params.n_embd, params.n_embd])
      self.wo = Tensor("f", [params.n_embd, params.n_embd])
      self.ffn_norm = Tensor("f", [params.n_embd])
      self.w1 = Tensor("f", [params.n_embd, params.get_n_ff()])
      self.w2 = Tensor("f", [params.get_n_ff(), params.n_embd])
      self.w3 = Tensor("f", [params.n_embd, params.get_n_ff()])
  
imports: import argparse
  import os
  import struct
  import sys
  import numpy
  from pathlib import Path
  import gguf
label_desc: Use image node_id 1 to create a new Layer object  with example: obj = Layer(params, bid)