From dd320df4b421531fad61609590f9145af9ac9499 Mon Sep 17 00:00:00 2001 From: isotr0py <2037008807@qq.com> Date: Mon, 4 Nov 2024 16:19:23 +0800 Subject: [PATCH] fix mode --- gguf-py/gguf/gguf_reader.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gguf-py/gguf/gguf_reader.py b/gguf-py/gguf/gguf_reader.py index fd32a3d1f..fb51756da 100644 --- a/gguf-py/gguf/gguf_reader.py +++ b/gguf-py/gguf/gguf_reader.py @@ -89,8 +89,9 @@ class GGUFReader: def __init__(self, path: os.PathLike[str] | str, mode: Literal['r', 'r+', 'c'] = 'r'): file_mode = "rb" if mode == 'r' else 'rb+' + self.mode = mode self.data = open(path, mode=file_mode) - self.mmap = np.memmap(self.data, mode = mode) + self.mmap = np.memmap(path, mode = mode) offs = 0 # Check for GGUF magic @@ -150,10 +151,11 @@ class GGUFReader: itemsize = np.dtype(dtype).itemsize if not lazy: self.data.seek(offset) - return ( + data = ( np.frombuffer(self.data.read(itemsize * count), dtype = dtype, count = count) .newbyteorder(override_order or self.byte_order) ) + return data if self.mode == 'r' else data.copy() else: return ( self.mmap[offset:offset + itemsize * count]