HeeBive commited on
Commit
7dbbd42
·
verified ·
1 Parent(s): d4b82e7

Upload clean_merge_vast.sh with huggingface_hub

Browse files
Files changed (1) hide show
  1. clean_merge_vast.sh +16 -9
clean_merge_vast.sh CHANGED
@@ -40,18 +40,25 @@ model = PeftModel.from_pretrained(base, "/adapter", adapter_name="zerosec_v3")
40
  merged = model.merge_and_unload()
41
 
42
  print("Saving merged...")
43
- # Fix tensor names with '$' suffix that convert script chokes on
44
- bad = [k for k in merged.state_dict() if '$' in k]
45
- if bad:
46
- print(f" Fixing {len(bad)} tensors with '$' in name:")
47
- for k in bad[:5]: print(f" {k}")
48
- sd = merged.state_dict()
49
- for k in bad:
50
- sd[k.replace('$', '')] = sd.pop(k)
51
- merged.load_state_dict(sd)
52
  merged.save_pretrained("/merged_model")
53
  tok.save_pretrained("/merged_model")
54
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
55
  # Verify tensor count
56
  from safetensors import safe_open
57
  total = 0
 
40
  merged = model.merge_and_unload()
41
 
42
  print("Saving merged...")
 
 
 
 
 
 
 
 
 
43
  merged.save_pretrained("/merged_model")
44
  tok.save_pretrained("/merged_model")
45
 
46
+ # Check which tensors have '$' suffix
47
+ bad = [k for k in merged.state_dict() if '$' in k[-3:]]
48
+ if bad:
49
+ print(f" WARNING: {len(bad)} tensors with '\$' suffix — patching converter for these")
50
+
51
+ print("[3] Patching llama.cpp converter for '\$' tensor names...")
52
+ import re as _re
53
+ base_py = "/llama.cpp/conversion/base.py"
54
+ txt = open(base_py).read()
55
+ txt = txt.replace(
56
+ "new_name = self.map_tensor_name(name)",
57
+ "name_clean = name.rstrip('\$'); new_name = self.map_tensor_name(name_clean)"
58
+ )
59
+ open(base_py, "w").write(txt)
60
+ print(" Patched")
61
+
62
  # Verify tensor count
63
  from safetensors import safe_open
64
  total = 0