Commit 8c322d5bc for llama.cpp
commit 8c322d5bc4107f05fda262cb06e239b66958ade0
Author: Kartik Gulia <kgulia@nvidia.com>
Date: Thu Sep 10 16:11:57 2026 +0530
convert : expand Nemotron H conversion fix (#28689)
* 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 <sigbjorn.skjaeret@huggingface.co>
---------
Co-authored-by: Sigbjørn Skjæret <sigbjorn.skjaeret@huggingface.co>
diff --git a/conversion/nemotron.py b/conversion/nemotron.py
index c7adb2e27..65728d554 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)