code: def __init__(self, fpath: str, tensor_infos: GGUFTensorInfos):
      self.block_ne = {
          0: 1,  # f32
          1: 1,  # f16
          2: 32,  # q4_0
          3: 32,  # q4_1
          6: 32,  # q5_0
          7: 32,  # q5_1
          8: 32,  # q8_0
          9: 32,  # q8_1
          10: 256,  # q2_k
          11: 256,  # q3_k
          12: 256,  # q4_k
          13: 256,  # q5_k
          14: 256,  # q6_k
          15: 256,  # q8_k
          16: 1,  # i8
          17: 1,  # i16
          18: 1,  # i32
      }
  
      self.block_size = {
          0: 4,  # f32
          1: 2,  # f16
          2: 18,  # q4_0
          3: 20,  # q4_1
          6: 22,  # q5_0
          7: 24,  # q5_1
          8: 34,  # q8_0
          9: 40,  # q8_1
          10: 0,  # q2_k
          11: 0,  # q3_k
          12: 0,  # q4_k
          13: 0,  # q5_k
          14: 210,  # q6_k
          15: 0,  # q8_k
          16: 1,  # i8
          17: 2,  # i16
          18: 4,  # i32
      }
  
      self.convert_funcs = {
          0: self.convert_f32_tensor,  # f32
          1: self.convert_f16_tensor,  # f16
          2: self.convert_q4_0_tensor,  # q4_0
          3: self.convert_q4_1_tensor,  # q4_1
          6: self.convert_q5_0_tensor,  # q5_0
          7: self.convert_q5_1_tensor,  # q5_1
          8: self.convert_q8_0_tensor,  # q8_0
          9: self.convert_unknown_tensor,  # q8_1
          10: self.convert_unknown_tensor,  # q2_k
          11: self.convert_unknown_tensor,  # q3_k
          12: self.convert_unknown_tensor,  # q4_k
          13: self.convert_unknown_tensor,  # q5_k
          14: self.convert_q6_k_tensor,  # q6_k
          15: self.convert_unknown_tensor,  # q8_k
          16: self.convert_unknown_tensor,  # i8
          17: self.convert_unknown_tensor,  # i16
          18: self.convert_unknown_tensor,  # i32
      }
  
      self.fpath = fpath
      self.infos = tensor_infos.infos
      self.base_offset = tensor_infos.base_offset
  
imports: import struct
  import functools
  import torch
  import numpy
  from io import BufferedReader
  from tqdm import tqdm
  from bigdl.llm.utils.common import invalidInputError
label_desc: Use image node_id 1 to create a new GGUFTensorLoader object  with example: obj = GGUFTensorLoader(fpath, tensor_infos)