Skip to content

Commit 9981c30

Browse files
bartowski1182CISC
andauthored
convert : fix conversion for inheriting models that were bypassing modify_tensors (ggml-org#19064)
* Add undo_permute = False where needed * Replace super().modify_tensors with ModelBase * Add one more ModelBase.modify_tensors * Update convert_hf_to_gguf.py Co-authored-by: Sigbjørn Skjæret <sigbjorn.skjaeret@scala.com> * Update convert_hf_to_gguf.py Co-authored-by: Sigbjørn Skjæret <sigbjorn.skjaeret@scala.com> * Update convert_hf_to_gguf.py Co-authored-by: Sigbjørn Skjæret <sigbjorn.skjaeret@scala.com> --------- Co-authored-by: Sigbjørn Skjæret <sigbjorn.skjaeret@scala.com>
1 parent e9fd8dc commit 9981c30

1 file changed

Lines changed: 11 additions & 11 deletions

File tree

convert_hf_to_gguf.py

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2736,7 +2736,7 @@ def modify_tensors(self, data_torch: Tensor, name: str, bid: int | None) -> Iter
27362736

27372737
data_torch = torch.stack(datas, dim=0)
27382738
merged_name = f"model.layers.{bid}.mlp.experts.{w_name}.weight"
2739-
yield from super().modify_tensors(data_torch, merged_name, bid)
2739+
yield from ModelBase.modify_tensors(self, data_torch, merged_name, bid)
27402740

27412741
return
27422742
else:
@@ -2745,7 +2745,7 @@ def modify_tensors(self, data_torch: Tensor, name: str, bid: int | None) -> Iter
27452745
if name.endswith(".expert_bias"):
27462746
name = name.replace(".expert_bias", ".expert_bias.bias")
27472747

2748-
yield from super().modify_tensors(data_torch, name, bid)
2748+
yield from ModelBase.modify_tensors(self, data_torch, name, bid)
27492749

27502750

27512751
@ModelBase.register(
@@ -8918,7 +8918,7 @@ def modify_tensors(
89188918
return Mamba2Model.modify_tensors(self, data_torch, name, bid)
89198919
elif bid in self._attn_layers:
89208920
return GraniteMoeModel.modify_tensors(self, data_torch, name, bid)
8921-
yield from super().modify_tensors(data_torch, name, bid)
8921+
yield from ModelBase.modify_tensors(self, data_torch, name, bid)
89228922

89238923
def set_gguf_parameters(self):
89248924
"""This method merges params from both parents and some that are
@@ -9050,33 +9050,33 @@ def modify_tensors(self, data_torch: Tensor, name: str, bid: int | None) -> Iter
90509050
if self.is_moe and bid is not None:
90519051
if name.endswith("mixer.gate.e_score_correction_bias"):
90529052
new_name = name.replace("e_score_correction_bias", "e_score_correction.bias")
9053-
yield from super().modify_tensors(data_torch, new_name, bid)
9053+
yield from ModelBase.modify_tensors(self, data_torch, new_name, bid)
90549054
return
90559055

90569056
if name.endswith("mixer.dt_bias"):
90579057
new_name = name.replace("dt_bias", "dt.bias")
9058-
yield from super().modify_tensors(data_torch, new_name, bid)
9058+
yield from ModelBase.modify_tensors(self, data_torch, new_name, bid)
90599059
return
90609060

90619061
if name.endswith("mixer.conv1d.weight"):
90629062
squeezed_data = data_torch.squeeze()
9063-
yield from super().modify_tensors(squeezed_data, name, bid)
9063+
yield from ModelBase.modify_tensors(self, squeezed_data, name, bid)
90649064
return
90659065

90669066
if name.endswith("mixer.A_log"):
90679067
transformed_data = -torch.exp(data_torch)
90689068
reshaped_data = transformed_data.squeeze().reshape(-1, 1)
9069-
yield from super().modify_tensors(reshaped_data, name, bid)
9069+
yield from ModelBase.modify_tensors(self, reshaped_data, name, bid)
90709070
return
90719071

90729072
if name.endswith("mixer.D"):
90739073
reshaped_data = data_torch.squeeze().reshape(-1, 1)
9074-
yield from super().modify_tensors(reshaped_data, name, bid)
9074+
yield from ModelBase.modify_tensors(self, reshaped_data, name, bid)
90759075
return
90769076

90779077
if name.endswith("mixer.norm.weight"):
90789078
reshaped_data = data_torch.reshape(self.n_group, -1)
9079-
yield from super().modify_tensors(reshaped_data, name, bid)
9079+
yield from ModelBase.modify_tensors(self, reshaped_data, name, bid)
90809080
return
90819081

90829082
if name.find("mixer.experts") != -1:
@@ -9101,7 +9101,7 @@ def modify_tensors(self, data_torch: Tensor, name: str, bid: int | None) -> Iter
91019101
data_torch = torch.stack(datas, dim=0)
91029102
merged_name = f"model.layers.{bid}.mlp.experts.{w_name}.weight"
91039103

9104-
yield from super().modify_tensors(data_torch, merged_name, bid)
9104+
yield from ModelBase.modify_tensors(self, data_torch, merged_name, bid)
91059105
return
91069106
else:
91079107
return
@@ -10731,7 +10731,7 @@ def modify_tensors(self, data_torch: Tensor, name: str, bid: int | None) -> Iter
1073110731
if name.startswith("model.vision."):
1073210732
return
1073310733

10734-
yield from super().modify_tensors(data_torch, name, bid)
10734+
yield from ModelBase.modify_tensors(self, data_torch, name, bid)
1073510735

1073610736

1073710737
@ModelBase.register("JanusForConditionalGeneration")

0 commit comments

Comments
 (0)