fix undefined in meta line: add device/scale/params to /api/custom response
Browse files
experiments/demo_server.py
CHANGED
|
@@ -208,6 +208,9 @@ def run_custom(doc_text: str, pairs: list, seed: int) -> dict:
|
|
| 208 |
"rows": rows,
|
| 209 |
"keymap": {r["name"]: r["kid"] for r in store_rows},
|
| 210 |
"filler_words": len(set(words)),
|
|
|
|
|
|
|
|
|
|
| 211 |
"ts": time.strftime("%Y-%m-%dT%H:%M:%SZ", time.gmtime()),
|
| 212 |
}
|
| 213 |
|
|
@@ -456,7 +459,7 @@ $("runc").onclick=async()=>{$("runc").disabled=true;$("runc").textContent="readi
|
|
| 456 |
new_value:i[2].value.trim()}}).filter(p=>p.name&&p.value);
|
| 457 |
const d=await api("/api/custom",{text:$("doc").value,pairs,seed:(Math.random()*1e6)|0});
|
| 458 |
if(d.error){alert(d.error);return}
|
| 459 |
-
$("meta").textContent=`
|
| 460 |
stats($("stc"),d);
|
| 461 |
$("qrt").innerHTML=`<tr><th>asked</th><th>the model answered</th><th>latest value</th><th></th></tr>`+
|
| 462 |
d.rows.map(r=>`<tr><td><b>${esc(r.name)}</b></td>
|
|
@@ -483,7 +486,7 @@ function drawLatt(pts,sc){const c=$("latt"),x=c.getContext("2d");
|
|
| 483 |
$("run").onclick=async()=>{$("run").disabled=true;$("run").textContent="streaming…";
|
| 484 |
try{const d=await api("/api/store",{n_pairs:+$("np").value,filler:+$("fl").value,
|
| 485 |
overwrite_frac:+$("ow").value/100,seed:(Math.random()*1e6)|0});
|
| 486 |
-
$("meta").textContent=`
|
| 487 |
stats($("st"),d);drawLatt(d.addr_points,d.scale);
|
| 488 |
$("qr").innerHTML=`<tr><th>key</th><th>model output</th><th>expected</th><th></th></tr>`+
|
| 489 |
d.rows.map(r=>`<tr><td>${r.key}</td><td class="${r.ok?"y":"n"}">${r.pred}</td>`+
|
|
|
|
| 208 |
"rows": rows,
|
| 209 |
"keymap": {r["name"]: r["kid"] for r in store_rows},
|
| 210 |
"filler_words": len(set(words)),
|
| 211 |
+
"device": DEVICE,
|
| 212 |
+
"scale": float(MODEL.blocks[0].mixer.cfg.addr_scale),
|
| 213 |
+
"params": sum(p.numel() for p in MODEL.parameters()),
|
| 214 |
"ts": time.strftime("%Y-%m-%dT%H:%M:%SZ", time.gmtime()),
|
| 215 |
}
|
| 216 |
|
|
|
|
| 459 |
new_value:i[2].value.trim()}}).filter(p=>p.name&&p.value);
|
| 460 |
const d=await api("/api/custom",{text:$("doc").value,pairs,seed:(Math.random()*1e6)|0});
|
| 461 |
if(d.error){alert(d.error);return}
|
| 462 |
+
$("meta").textContent=`scale ${d.scale||96} 路 ${d.device||"cpu"} 路 run ${d.ts||""}`;
|
| 463 |
stats($("stc"),d);
|
| 464 |
$("qrt").innerHTML=`<tr><th>asked</th><th>the model answered</th><th>latest value</th><th></th></tr>`+
|
| 465 |
d.rows.map(r=>`<tr><td><b>${esc(r.name)}</b></td>
|
|
|
|
| 486 |
$("run").onclick=async()=>{$("run").disabled=true;$("run").textContent="streaming…";
|
| 487 |
try{const d=await api("/api/store",{n_pairs:+$("np").value,filler:+$("fl").value,
|
| 488 |
overwrite_frac:+$("ow").value/100,seed:(Math.random()*1e6)|0});
|
| 489 |
+
$("meta").textContent=`scale ${d.scale} 路 ${d.params.toLocaleString()} params 路 ${d.device} 路 run ${d.ts}`;
|
| 490 |
stats($("st"),d);drawLatt(d.addr_points,d.scale);
|
| 491 |
$("qr").innerHTML=`<tr><th>key</th><th>model output</th><th>expected</th><th></th></tr>`+
|
| 492 |
d.rows.map(r=>`<tr><td>${r.key}</td><td class="${r.ok?"y":"n"}">${r.pred}</td>`+
|