Upload slimshard_gui.py
Browse files- slimshard_gui.py +37 -5
slimshard_gui.py
CHANGED
|
@@ -864,7 +864,34 @@ class SlimShardGUI:
|
|
| 864 |
cmd += ["--max-experts", str(me)]
|
| 865 |
except Exception:
|
| 866 |
pass
|
|
|
|
|
|
|
| 867 |
cmd += ["--device", self.device_var.get()]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 868 |
elif mode == "build":
|
| 869 |
if self.model_dir_var.get():
|
| 870 |
cmd += ["--model-dir", self.model_dir_var.get()]
|
|
@@ -891,8 +918,12 @@ class SlimShardGUI:
|
|
| 891 |
|
| 892 |
def _inspect_plan(self) -> None:
|
| 893 |
shard = self.shard_var.get().strip()
|
| 894 |
-
|
| 895 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 896 |
return
|
| 897 |
try:
|
| 898 |
tp = float(self.target_params_b_var.get())
|
|
@@ -909,6 +940,7 @@ class SlimShardGUI:
|
|
| 909 |
config=self.config_var.get().strip() or None,
|
| 910 |
target_params_b=tp if tp > 0.0 else None,
|
| 911 |
max_experts=me if me > 0 else None,
|
|
|
|
| 912 |
)
|
| 913 |
except Exception as exc:
|
| 914 |
messagebox.showerror("Inspect Failed", str(exc))
|
|
@@ -929,7 +961,7 @@ class SlimShardGUI:
|
|
| 929 |
surv = plan["surviving_layers"]
|
| 930 |
miss = plan["missing_layers"]
|
| 931 |
self.layers_summary_var.set(
|
| 932 |
-
f"Surviving
|
| 933 |
f"Missing to CheckFree-reconstruct ({len(miss)}): {miss[:12]}{'...' if len(miss) > 12 else ''}"
|
| 934 |
)
|
| 935 |
c = plan["counts"]
|
|
@@ -940,8 +972,8 @@ class SlimShardGUI:
|
|
| 940 |
self._plan_rows = plan["rows"]
|
| 941 |
self._refresh_table()
|
| 942 |
self._log(
|
| 943 |
-
f"Inspected {
|
| 944 |
-
f"{len(miss)} layers to reconstruct via CheckFree."
|
| 945 |
)
|
| 946 |
|
| 947 |
def _refresh_table(self) -> None:
|
|
|
|
| 864 |
cmd += ["--max-experts", str(me)]
|
| 865 |
except Exception:
|
| 866 |
pass
|
| 867 |
+
if self.anchor_layers_var.get().strip():
|
| 868 |
+
cmd += ["--anchor-layers", self.anchor_layers_var.get().strip()]
|
| 869 |
cmd += ["--device", self.device_var.get()]
|
| 870 |
+
elif mode == "fetch-hf":
|
| 871 |
+
if self.hf_url_var.get().strip():
|
| 872 |
+
cmd += ["--repo", self.hf_url_var.get().strip()]
|
| 873 |
+
if self.model_dir_var.get().strip():
|
| 874 |
+
cmd += ["--output-dir", self.model_dir_var.get().strip()]
|
| 875 |
+
try:
|
| 876 |
+
tp = float(self.target_params_b_var.get())
|
| 877 |
+
if tp > 0.0:
|
| 878 |
+
cmd += ["--target-params-b", f"{tp:g}"]
|
| 879 |
+
except Exception:
|
| 880 |
+
pass
|
| 881 |
+
try:
|
| 882 |
+
me = int(self.max_experts_var.get())
|
| 883 |
+
if me > 0:
|
| 884 |
+
cmd += ["--max-experts", str(me)]
|
| 885 |
+
except Exception:
|
| 886 |
+
pass
|
| 887 |
+
try:
|
| 888 |
+
na = int(self.num_anchor_layers_var.get())
|
| 889 |
+
cmd += ["--num-anchor-layers", str(na)]
|
| 890 |
+
except Exception:
|
| 891 |
+
pass
|
| 892 |
+
if self.anchor_layers_var.get().strip():
|
| 893 |
+
cmd += ["--anchor-layers", self.anchor_layers_var.get().strip()]
|
| 894 |
+
cmd += ["--mode", self.hf_fetch_mode_var.get()]
|
| 895 |
elif mode == "build":
|
| 896 |
if self.model_dir_var.get():
|
| 897 |
cmd += ["--model-dir", self.model_dir_var.get()]
|
|
|
|
| 918 |
|
| 919 |
def _inspect_plan(self) -> None:
|
| 920 |
shard = self.shard_var.get().strip()
|
| 921 |
+
try:
|
| 922 |
+
resolved = _resolve_shard_paths(shard) if shard else []
|
| 923 |
+
except Exception:
|
| 924 |
+
resolved = []
|
| 925 |
+
if not resolved:
|
| 926 |
+
messagebox.showwarning("SlimShard", "Please select one or more valid .safetensors shards first.")
|
| 927 |
return
|
| 928 |
try:
|
| 929 |
tp = float(self.target_params_b_var.get())
|
|
|
|
| 940 |
config=self.config_var.get().strip() or None,
|
| 941 |
target_params_b=tp if tp > 0.0 else None,
|
| 942 |
max_experts=me if me > 0 else None,
|
| 943 |
+
anchor_layers=self.anchor_layers_var.get().strip() or None,
|
| 944 |
)
|
| 945 |
except Exception as exc:
|
| 946 |
messagebox.showerror("Inspect Failed", str(exc))
|
|
|
|
| 961 |
surv = plan["surviving_layers"]
|
| 962 |
miss = plan["missing_layers"]
|
| 963 |
self.layers_summary_var.set(
|
| 964 |
+
f"Surviving across {len(resolved)} shard(s) ({len(surv)}): {surv[:12]}{'...' if len(surv) > 12 else ''} | "
|
| 965 |
f"Missing to CheckFree-reconstruct ({len(miss)}): {miss[:12]}{'...' if len(miss) > 12 else ''}"
|
| 966 |
)
|
| 967 |
c = plan["counts"]
|
|
|
|
| 972 |
self._plan_rows = plan["rows"]
|
| 973 |
self._refresh_table()
|
| 974 |
self._log(
|
| 975 |
+
f"Inspected {len(resolved)} shard(s): {plan['present_tensors']}/{plan['total_tensors']} present, "
|
| 976 |
+
f"{len(surv)} anchor layers, {len(miss)} layers to reconstruct via CheckFree."
|
| 977 |
)
|
| 978 |
|
| 979 |
def _refresh_table(self) -> None:
|