convert-hf : remove unused n_dims in extra_*_tensors

This commit is contained in:
Francis Couture-Harpin 2024-04-30 15:02:34 -04:00
parent c33775bcc7
commit 698f0b3479
2 changed files with 10 additions and 12 deletions

View file

@ -165,10 +165,10 @@ class Model(Protocol):
def modify_tensors(self, data_torch: Tensor, name: str, bid: int | None) -> Iterable[tuple[str, Tensor]]: def modify_tensors(self, data_torch: Tensor, name: str, bid: int | None) -> Iterable[tuple[str, Tensor]]:
return [(self.map_tensor_name(name), data_torch)] return [(self.map_tensor_name(name), data_torch)]
def extra_f32_tensors(self, n_dims: int, name: str, new_name: str, bid: int | None) -> bool: def extra_f32_tensors(self, name: str, new_name: str, bid: int | None) -> bool:
return False return False
def extra_f16_tensors(self, n_dims: int, name: str, new_name: str, bid: int | None) -> bool: def extra_f16_tensors(self, name: str, new_name: str, bid: int | None) -> bool:
return False return False
def write_tensors(self): def write_tensors(self):
@ -199,8 +199,8 @@ class Model(Protocol):
data = data.astype(np.float32) data = data.astype(np.float32)
# when both are true, the tensor keeps its original type # when both are true, the tensor keeps its original type
extra_f32 = self.extra_f32_tensors(n_dims, name, new_name, bid) extra_f32 = self.extra_f32_tensors(name, new_name, bid)
extra_f16 = self.extra_f16_tensors(n_dims, name, new_name, bid) extra_f16 = self.extra_f16_tensors(name, new_name, bid)
# 1d tensors need to be converted to float32 # 1d tensors need to be converted to float32
if self.ftype == 1 and data_dtype == np.float16 and (n_dims == 1 or extra_f32) and not extra_f16: if self.ftype == 1 and data_dtype == np.float16 and (n_dims == 1 or extra_f32) and not extra_f16:
@ -1038,8 +1038,8 @@ class PersimmonModel(Model):
# self.gguf_writer.add_bos_token_id(71013) # self.gguf_writer.add_bos_token_id(71013)
# self.gguf_writer.add_eos_token_id(71013) # self.gguf_writer.add_eos_token_id(71013)
def extra_f32_tensors(self, n_dims: int, name: str, new_name: str) -> bool: def extra_f32_tensors(self, name: str, new_name: str, bid: int | None) -> bool:
del n_dims, name, new_name # unused del name, new_name, bid # unused
# TODO: FP16 conversion produces garbage outputs. (Q8_0 does not, so..?) # TODO: FP16 conversion produces garbage outputs. (Q8_0 does not, so..?)
return True return True
@ -2152,8 +2152,8 @@ class BertModel(Model):
return [(self.map_tensor_name(name), data_torch)] return [(self.map_tensor_name(name), data_torch)]
def extra_f32_tensors(self, n_dims: int, name: str, new_name: str, bid: int | None) -> bool: def extra_f32_tensors(self, name: str, new_name: str, bid: int | None) -> bool:
del n_dims, new_name, bid # unused del new_name, bid # unused
# not used with get_rows, must be F32 # not used with get_rows, must be F32
return name == "embeddings.token_type_embeddings.weight" return name == "embeddings.token_type_embeddings.weight"
@ -2345,9 +2345,7 @@ class MambaModel(Model):
return [(new_name, data_torch)] return [(new_name, data_torch)]
def extra_f32_tensors(self, n_dims: int, name: str, new_name: str, bid: int | None) -> bool: def extra_f32_tensors(self, name: str, new_name: str, bid: int | None) -> bool:
del n_dims # unused
return new_name in (self.format_tensor_name(n, bid, ".weight" if name.endswith(".weight") else "") for n in [ return new_name in (self.format_tensor_name(n, bid, ".weight" if name.endswith(".weight") else "") for n in [
gguf.MODEL_TENSOR.SSM_CONV1D, gguf.MODEL_TENSOR.SSM_CONV1D,
gguf.MODEL_TENSOR.SSM_X, gguf.MODEL_TENSOR.SSM_X,

View file

@ -7,7 +7,7 @@ import json
from pathlib import Path from pathlib import Path
import numpy as np import numpy as np
from typing import Any, Mapping, Sequence from typing import Any, Sequence
# Necessary to load the local gguf package # Necessary to load the local gguf package
if "NO_LOCAL_GGUF" not in os.environ and (Path(__file__).parent.parent.parent / 'gguf-py').exists(): if "NO_LOCAL_GGUF" not in os.environ and (Path(__file__).parent.parent.parent / 'gguf-py').exists():