From 8c322d5bc4107f05fda262cb06e239b66958ade0 Mon Sep 17 00:00:00 2001 From: Kartik Gulia Date: Thu, 10 Sep 2026 16:11:57 +0530 Subject: [PATCH] convert : expand Nemotron H conversion fix (#28689) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * override function for n_h_l * narrow change for extracting nested attribute * simpler change; combines has_moe_params * Apply suggestion from @CISC Co-authored-by: Sigbjørn Skjæret --------- Co-authored-by: Sigbjørn Skjæret --- conversion/nemotron.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/conversion/nemotron.py b/conversion/nemotron.py index c7adb2e27a..65728d5544 100644 --- a/conversion/nemotron.py +++ b/conversion/nemotron.py @@ -216,14 +216,14 @@ class NemotronHModel(GraniteHybridModel): hparams = kwargs.pop("hparams", None) if hparams is None: hparams = ModelBase.load_hparams(args[0], self.is_mistral_format) - has_moe_params = ( - "num_experts_per_tok" in hparams - or (isinstance(hparams.get("llm_config"), dict) and "num_experts_per_tok" in hparams["llm_config"]) - ) + llm_config = {**hparams, **(hparams.get("llm_config") or {})} + + has_moe_params = "num_experts_per_tok" in llm_config + layers_block_type = llm_config.get("layers_block_type") + if has_moe_params: self.model_arch = gguf.MODEL_ARCH.NEMOTRON_H_MOE self.is_moe = True - layers_block_type = hparams.get("layers_block_type") if layers_block_type is not None: hparams["num_hidden_layers"] = len(layers_block_type)