|
7 | 7 | from pathlib import Path
|
8 | 8 |
|
9 | 9 | import numpy as np
|
10 |
| -from typing import Any, Mapping, Sequence, NamedTuple |
| 10 | +from typing import Any, Sequence, NamedTuple |
11 | 11 |
|
12 | 12 | # Necessary to load the local gguf package
|
13 | 13 | if "NO_LOCAL_GGUF" not in os.environ and (Path(__file__).parent.parent.parent / 'gguf-py').exists():
|
@@ -40,7 +40,7 @@ def get_byteorder(reader: gguf.GGUFReader) -> gguf.GGUFEndian:
|
40 | 40 | return host_endian
|
41 | 41 |
|
42 | 42 |
|
43 |
| -def decode_field(field: gguf.ReaderField) -> Any: |
| 43 | +def decode_field(field: gguf.ReaderField | None) -> Any: |
44 | 44 | if field and field.types:
|
45 | 45 | main_type = field.types[0]
|
46 | 46 |
|
@@ -74,7 +74,7 @@ def find_token(token_list: Sequence[int], token: str) -> Sequence[int]:
|
74 | 74 | return token_ids
|
75 | 75 |
|
76 | 76 |
|
77 |
| -def copy_with_new_metadata(reader: gguf.GGUFReader, writer: gguf.GGUFWriter, new_metadata: Mapping[str, MetadataDetails], remove_metadata: Sequence[str]) -> None: |
| 77 | +def copy_with_new_metadata(reader: gguf.GGUFReader, writer: gguf.GGUFWriter, new_metadata: dict[str, MetadataDetails], remove_metadata: Sequence[str]) -> None: |
78 | 78 | for field in reader.fields.values():
|
79 | 79 | # Suppress virtual fields and fields written by GGUFWriter
|
80 | 80 | if field.name == gguf.Keys.General.ARCHITECTURE or field.name.startswith('GGUF.'):
|
@@ -115,7 +115,7 @@ def copy_with_new_metadata(reader: gguf.GGUFReader, writer: gguf.GGUFWriter, new
|
115 | 115 |
|
116 | 116 | for tensor in reader.tensors:
|
117 | 117 | # Dimensions are written in reverse order, so flip them first
|
118 |
| - shape = np.flipud(tensor.shape) |
| 118 | + shape = np.flipud(tensor.shape).tolist() |
119 | 119 | writer.add_tensor_info(tensor.name, shape, tensor.data.dtype, tensor.data.nbytes, tensor.tensor_type)
|
120 | 120 |
|
121 | 121 | writer.write_header_to_file()
|
|
0 commit comments