Upload pipeline.py with huggingface_hub
Browse files- pipeline.py +12 -1
pipeline.py
CHANGED
|
@@ -57,6 +57,8 @@ def main():
|
|
| 57 |
ap.add_argument("--guard", default=None,
|
| 58 |
help="file kamus kata (satu kata per baris); tambahkan metrik rasio ejaan ke manifest")
|
| 59 |
ap.add_argument("--guard-max-new", type=int, default=120)
|
|
|
|
|
|
|
| 60 |
t = ap.add_argument_group("hyperparameter training (diteruskan ke train.py)")
|
| 61 |
t.add_argument("--steps", type=int, default=2000)
|
| 62 |
t.add_argument("--batch-size", type=int, default=32)
|
|
@@ -136,6 +138,15 @@ def main():
|
|
| 136 |
if not probe_path.exists():
|
| 137 |
probe_path = out_dir / "indigo.safetensors"
|
| 138 |
wordset = load_wordlist(args.guard)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 139 |
meta = load_meta(str(probe_path))
|
| 140 |
tok = build_tokenizer(meta.get("tokenizer") or {"type": "char"}, meta.get("vocab"))
|
| 141 |
mdl = GPT(GPTConfig(**meta["config"]))
|
|
@@ -146,7 +157,7 @@ def main():
|
|
| 146 |
with torch.no_grad():
|
| 147 |
out = mdl.generate(idx, args.guard_max_new, temperature=0.8, top_k=40)
|
| 148 |
text = tok.decode(out[0].tolist())
|
| 149 |
-
stats["kamus_ratio"] = round(word_known_ratio(text, wordset), 4)
|
| 150 |
print(f"[pipeline] kamus_ratio={stats['kamus_ratio']:.2%}")
|
| 151 |
stats["pipeline"] = {
|
| 152 |
"tag": args.tag,
|
|
|
|
| 57 |
ap.add_argument("--guard", default=None,
|
| 58 |
help="file kamus kata (satu kata per baris); tambahkan metrik rasio ejaan ke manifest")
|
| 59 |
ap.add_argument("--guard-max-new", type=int, default=120)
|
| 60 |
+
ap.add_argument("--guard-prefiks", default=None, help="default data/prefiks.txt bila ada")
|
| 61 |
+
ap.add_argument("--guard-sufiks", default=None, help="default data/sufiks.txt bila ada")
|
| 62 |
t = ap.add_argument_group("hyperparameter training (diteruskan ke train.py)")
|
| 63 |
t.add_argument("--steps", type=int, default=2000)
|
| 64 |
t.add_argument("--batch-size", type=int, default=32)
|
|
|
|
| 138 |
if not probe_path.exists():
|
| 139 |
probe_path = out_dir / "indigo.safetensors"
|
| 140 |
wordset = load_wordlist(args.guard)
|
| 141 |
+
p_def, s_def = ROOT / "data" / "prefiks.txt", ROOT / "data" / "sufiks.txt"
|
| 142 |
+
|
| 143 |
+
def muat_afiks(flag, default_path):
|
| 144 |
+
if flag:
|
| 145 |
+
return load_wordlist(flag) if Path(flag).exists() else None
|
| 146 |
+
return load_wordlist(str(default_path)) if default_path.exists() else None
|
| 147 |
+
|
| 148 |
+
prefiks = muat_afiks(args.guard_prefiks, p_def)
|
| 149 |
+
sufiks = muat_afiks(args.guard_sufiks, s_def)
|
| 150 |
meta = load_meta(str(probe_path))
|
| 151 |
tok = build_tokenizer(meta.get("tokenizer") or {"type": "char"}, meta.get("vocab"))
|
| 152 |
mdl = GPT(GPTConfig(**meta["config"]))
|
|
|
|
| 157 |
with torch.no_grad():
|
| 158 |
out = mdl.generate(idx, args.guard_max_new, temperature=0.8, top_k=40)
|
| 159 |
text = tok.decode(out[0].tolist())
|
| 160 |
+
stats["kamus_ratio"] = round(word_known_ratio(text, wordset, prefiks, sufiks), 4)
|
| 161 |
print(f"[pipeline] kamus_ratio={stats['kamus_ratio']:.2%}")
|
| 162 |
stats["pipeline"] = {
|
| 163 |
"tag": args.tag,
|