From f22900b30c81e463626fd588ffccfa4e2075bd85 Mon Sep 17 00:00:00 2001 From: JustinLin610 Date: Wed, 17 Apr 2024 01:53:56 +0800 Subject: [PATCH] override load_hparams --- convert-hf-to-gguf.py | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/convert-hf-to-gguf.py b/convert-hf-to-gguf.py index 0bdf437f4..14d37bc3b 100755 --- a/convert-hf-to-gguf.py +++ b/convert-hf-to-gguf.py @@ -195,12 +195,8 @@ class Model(ABC): @staticmethod def load_hparams(dir_model): - with open(dir_model / "config.json", "r", encoding="utf-8") as f1, \ - open(dir_model / "tokenizer_config.json", "r", encoding="utf-8") as f2: - hparams = json.load(f1) - hparams.update(json.load(f2)) - - return hparams + with open(dir_model / "config.json", "r", encoding="utf-8") as f: + return json.load(f) @classmethod def register(cls, *names: str) -> Callable[[AnyModel], AnyModel]: @@ -1712,9 +1708,21 @@ class QwenModel(Model): @Model.register("Qwen2ForCausalLM") class Qwen2Model(Model): model_arch = gguf.MODEL_ARCH.QWEN2 + + def __init__(self, dir_model: Path, ftype: int, fname_out: Path, is_big_endian: bool, use_temp_file: bool): + super().__init__(dir_model, ftype, fname_out, is_big_endian, use_temp_file) + self.hparams = Qwen2Model.load_hparams(dir_model) + + @staticmethod + def load_hparams(dir_model): + with open(dir_model / "config.json", "r", encoding="utf-8") as f1, \ + open(dir_model / "tokenizer_config.json", "r", encoding="utf-8") as f2: + hparams = json.load(f1) + hparams.update(json.load(f2)) + + return hparams def set_vocab(self): - print(f'Tokenizer class: {self.hparams.get("tokenizer_class")}') if self.hparams.get("tokenizer_class") == "PreTrainedTokenizerFast": self._set_vocab_sentencepiece() else: