code: def load_while_process(self, process):
      with open(self.fpath, "rb") as f:
          for name, ndims, dims, qtype, offset in tqdm(
              self.infos, desc="Loading gguf tensors"
          ):
              total_ne = functools.reduce(lambda x, y: x * y, dims)
              invalidInputError(
                  total_ne % self.block_ne[qtype] == 0,
                  f"wrong elements num: {dims}",
              )
  
              size = (
                  total_ne
                  // self.block_ne[qtype]
                  * self.block_size[qtype]
              )
              invalidInputError(
                  size != 0, f"unsupported quantize type: {qtype}"
              )
  
              offset += self.base_offset
              f.seek(offset)
              data = f.read(size)
              arr = numpy.frombuffer(data, dtype=numpy.uint8)
              tensor = torch.from_numpy(arr)
              tensor = self.convert_funcs[qtype](
                  tensor, size, ndims, dims
              )
              process(name, tensor)
  
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 3 for calling the GGUFTensorLoader obj's underlying member method code with example usage: obj.load_while_process(process) without return types