diff --git a/conversion/hunyuan.py b/conversion/hunyuan.py index 65d294fbe9..f5ac8a4fb7 100644 --- a/conversion/hunyuan.py +++ b/conversion/hunyuan.py @@ -338,6 +338,12 @@ class HunyuanVLTextModel(HunYuanModel): def __init__(self, dir_model: Path, *args, **kwargs): super().__init__(dir_model, *args, **kwargs) + # transformers 5.13.0 encodes HunyuanVL XD-RoPE as dynamic + mrope_section. + # Normalize it to avoid the HunYuan dynamic-RoPE context assertion. + if self.rope_parameters.get("rope_type") == "dynamic" and "mrope_section" in self.rope_parameters: + self.rope_parameters["rope_type"] = "xdrope" + self.rope_parameters["type"] = "xdrope" + self.rope_parameters["xdrope_section"] = list(self.rope_parameters["mrope_section"]) def set_gguf_parameters(self): super().set_gguf_parameters()